I am analyzing phonegap usage for 4 mobile apps which will be created for
iOS (iPhone & iPad 4.2.1+)
Android (2.2+)
Blackberry(5.0+)
Windows phone (7+)
I could not find native support for push notifications in phonegap. Though I could google for push notification support for iOS and Android using different frameworks like pushwoosh and urban air.
Is there a common framework which can address push notifications for all the above mentioned platforms?
By now, there's a Push Notification Plugin for Cordova/Phonegap available: Cordova Push Notifications Plugin.
It currently supports Android, iOS and Windows Phone 8.
I know that it is still not the common framework you wished for, but at least it accommodates these 3 platforms, which means you don't have to deal with separate plugins for each of these platforms anymore, as it's been the case before.
There is no native support in phonegap for push notifications. Since these vary by platform, there are plugins, though.
You'll have to find a plugin for each platform you want. Here's a plugin for Android: https://github.com/marknutter/GCM-Cordova
and here's one for iOS: https://github.com/phonegap/phonegap-plugins/tree/master/iOS/PushNotification I didn't find plugins for Windows7 or Blackberry, but all I did was a cursory search.
As mentioned above, there are services that provide some level of cross platform compatibility and provide server side APIs, so that you can send push to devices via a REST call (or something similar). These services also may provide some level of phonegap integration (via plugins).
Here are the services I have found that support the 4 platforms you mentioned:
Urban Airship: http://urbanairship.com/
Pushwoosh: http://pushwoosh.com/
Xtify: http://xtify.com/ (now an ibm company, here's the platforms they support: http://developer.xtify.com/display/sdk/Download+the+IBM+Push+Notification+SDKs )
I would use the Urban Airship plugins for Android and iOS.
http://urbanairship.com/lp/urban-airship-phonegap-plugins/
As an alternative to push notifications you may keep a streaming connection open and receive your notifications there.
Obviously it is required that the application is kept alive for you to receive such messages.
If you think this is a viable solution for your needs you may try Lightstreamer: it works with PhoneGap on the cited platforms without the need of any plugin.
If interested take a look here: http://blog.lightstreamer.com/2012/08/lightstreamer-in-phonegap-app.html
[disclaimer: I'm a developer # Lightstreamer]
Related
I'd like to develop a simple mobile application for both Android and IOS, the core part of the app being push notifications.
I started using React Native, with Expo, to easily support both Android & IOS. But while approaching to push notifications I ran in multiple problems, lots of out dated contents and documentations.
I tried using Firebase Messaging but in the documentation the are some confiugurations regarding platform specific files, which i don't have in the project. I tried putting some stuff (such as package name) manually in the app.json but it didn't work in the end.
I tried Expo's push notification service but for some reason i can't even get the token (testing on a physical device) from the example code in the documentation
Reading some pages of the Firebase docs seems that using react-native-firebase should easily work for both plaforms, but in other pages it seems to be platform dependant.
If you happened to use push notifications for both android & ios, is it possible to do it in only one project using React Native and Expo? If so do you have some documentation that happened to work for you?
Thanks.
I currently have a VOIP app using Ionic 4, WebRTC, Socket.IO with a very lightweight node.js backend. It is working really well, and is currently using normal push notifications for calls. Which has its limitations.
My issue is that I want to mature the push notifications to fit more properly with the standard VOIP native look and feel. More specifically I need the ability to receive phone calls using the native call interface so I can get features like ringtones, ending/accepting calls, and answering with bluetooth devices. So on iOS this is pushkit, and on android not 100% sure what this is. I have looked at the following libraries and so far each has had there issues. My main concern is most of them are not compatible with the newest version of iOS 13, which has some VOIP changes in it.
https://github.com/WebsiteBeaver/CordovaCall
https://github.com/Hitman666/cordova-ios-voip-push
https://github.com/Taracque/cordova-plugin-voippush
Really my big question is this, has anyone successfully built a project using Ionic 4 and the latest version of iOS/Android that captures the look and feel of a native phone call using push notifications?
Links to examples would be really appreciated.
Thanks,
Bob
I'm new to the concept of push notifications and sending them from Amazons SNS service so apologies if this is a stupid question.
For our current app we are wanting to target both android and iOS devices. We've successfully created a platform application in SNS that uses firebase to target android devices.
We initial thought that we could use the same platform application for iOS as firebase supports pushing to iOS devices. However, the AWS documentation indicates that you have to create a separate platform application which uses APSN to push to iOS devices.
Is it the correct approach to have multiple SNS platform applications for each device operating system you're trying to target?
Any advice would be appreciated, thanks David.
I thought I’d provide the outcome we came to just in case anyone might find it useful. After looking into firebase it seemed an obvious choice for it to replace SNS. The notification side of firebase is free and much easier to integrate into our app as opposed to SNS where it seems you have to worry about multiple notification providers for each mobile platform. The documentation around firebase is a lot better than what is available for SNS.
I have a task to implement push server for mobile application that support as many platforms as possible. I need suggestions for what would be the best way to go.
After some research I found that GCM supports native iOS devices and Android of course. So in a perfect scenario I would also like to support iOS/Android devices on cordova(hybrid apps). Can GCM be used to support all these platforms and if not, what would be other ways to solve this problem?
This is one of my first more serious programming tasks so any help will be appreciated.
I am interested if GCM support iOS on cordova and is it better to use GCM or code something from scratch for different platforms?
Yes you can use GCM for both IOS and Android. Here are some useful links to start.
Cloud Messaging
Google Cloud Messaging for iOS
Cloud Messaging for Android
Also see existing SO PhoneGap Build Push Notification
Cheers !
I've finished this project and after some research this are my conclusion
GCM for iOS
have lot of limitations(no alert in message)
uses APNS as a wrapper
still no plugins in cordova
So for now my suggestion is APNS for iOS and GCM for Android.
I want to implement an application where a user receives a notification when some other user has done something. I don't want to user Push Notifications for that, because this information is only relevant, when the application is opened.
I thought of using Server-sent events. According to caniuse EventSource is not supported on Android lower then 4.3.
Does anyone know something about the support of this cool feature in Phonegap / Cordova? Or a plugin which provides this functionality on Android as well? iOS seems to be no problem.
I'm using Cordova 3.1.
Thanks!
You can have a look at this EventSource polyfill library:
https://github.com/Yaffle/EventSource
It's only supported on the Android browser (lower than 4.3 at least) if you add 4k of padding after each message. Perhaps you can also try implementing long polling? It might be a better solution instead of eventsource with 4k padding.
You can read more on this topic here:
https://github.com/Yaffle/EventSource/issues/14
I solved this issue by using Web-Sockets and a plugin for older Android devices in my Cordova application. The Phonegap WebSocket Plugin provides the same API like the Javascript W3C standard and can therefore be used without any issues on iOS, Android <4.3, and Android 4.3+.
Please note, that we had to use secure Web-Socket connections (wss://) to get it working with 3G connections as mentioned here.