Assuming my application is based on HTML5/Jquery mobile (Cross platform web app),
How is it possible to create push notifications for Android/iOS ?
Also, does it include developing different "notifications engine" for
each device? (in other words: Do I need to implement two different background processes for each type of device?)
I'd be really glad to get a full answer/references to my conflict.
I have searched for the forum's previous answers but it seems like the threads are quite old so i preferred opening my own question.
GCM is the Google Cloud Messaging Service for Android, while APNS is the push notification service for iOS, both of them are very similar.
If you're already using html5 and jQuery, I would suggest you to use Phonegap which is a framework that allows you to create mobile apps using only html5 css3 javascript(jQuery) it was very useful for me and they've a push notifications plugin which works for Android and iOS.
Be sure to check Phonegap and Phonegap Build (which is a very interesting service)
Regards
1)
Apple has Apple Push Notification Service (APNS) to push out alerts.
More details at
https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/ApplePushService.html.
Google offers a comparable Google Cloud Messaging Service (GCM).
Details at http://developer.android.com/google/gcm/index.html. UPDATE: GCM does support iOS as a client, so can be used for both Android and iOS, with some work. (Technically, it will be an APNS when it reaches the iOS device.)
2) Not sure I understand what you mean by "background processes", If you are referring to backend service/originator of notifications,then the service needs to be able to communicate i with both the Apple APNS or Google CDM using the interfaces supported by these services and send out alerts in appropriate format. If you are looking for a third party service for sending out push notifications, you can checkout UrbanAirship or Parse which can send notifications to either platform.
Related
I followed the google documents to create a progressive webapp and I've just implemented push notifications, however whenever I close the app I don't get any notifications.
Other apps like whatsapp seem to be able to send those notifications is there a difference between native notifications and gcm push notifications from a progressive webapp?
There absolutely no difference between the two, the rendering part is the same, it just that native ones are the notifications that comes from a apk generated app and the other one is rendered using google chrome or any web browser that support the functionality.
Beside the service worker with the help of manifest.json file will use the GCM ( Google Cloud Messaging) to send notifications to end users.
I worked and implemented such functionalities before, and I got my notification directly to the browser and my android phone as well, therefore I created a Github repo with nice documentation that simulate just that using Nodejs and simple web interface, please feel free to check I guess it holds what you seek :
Link : https://github.com/houssem-yahiaoui/webpush-notification
Is their any difference between web services for android and iOS ?? especially if i am implementing push notification using google cloud messaging
Thank you in advance
Web services
There shouldn't be any major differences between web services for Android and iOS. Especially when it comes to exchanging JSON with object representations. At the end, it's all the same, parsing and mapping. Sometimes you might want to return some special, platform specific information. In this case, the mobile clients need a way to tell your backend which OS they're running.
Push notifications
Push notifications is a different story. On Android you have Google Cloud Messaging and on iOS Apple Push Notification Service. Your back end has to know which notification service to use.
There are many ways to solve this problem.
One way is to set a custom HTTP header that would contain information about the OS the mobile client runs. Another is to have a parameter that is sent with each request.
We are developing step by step game and need to send a notification to all players of current game when someone made his turn. We have a REST server that uses jersey + jackson implementation.
We know that it is possible to use Google Cloud Messaging for this purpose, however it doesn't support windows phone platform (we want to support Android, iOS, Windows Phone). Yes, Microsoft has their own server, but it requires to learn API of 2 services. Also, we found that server sent events protocol exists that can help us.
Is it good idea to use SSE (on all mobile platforms) instead of push notifications or there are some better solutions?
Thanks.
Using SSE is a bad usage for your requirement, as it will only work when your app is running, no notifications will be received when your app is closed.
You should use the notification system of each plateform you target (GMC for Andorid, Apple Push Service for ios, etc.)
Each device needs to register to the notification server and then you can send notifications to registered devices.
Since your targetting multiple plateforms, it would be easier to use a third party service that will do the registering and message dispatching to all your targetted plateforms through a simple API.
As suggested by Rahul Mathur, Parse is a known and reliable provider. Other possibilities include AWS SNS, Urban Airship, PushWoosh, and a lot more !
I suggest you to use parse as it is easy to implement
For android : https://parse.com/tutorials/android-push-notifications
For iOS : https://parse.com/tutorials/ios-push-notifications
You can also customise your php script on parse console.
I am reading about alternatives to push notifications on mobile phones using Google platforms (GCM) and Apple platform (APNS), but I've found a lot of gateways which simplify the interface for the developers but afterall also use GCM, APNS, WMS....
I'd like a true alternative for delivering messages on mobiles and after the message is received, I wish to generate a internal Push over OS (not over a Cloud Platform).
I've read about MQTT to implement this lighweight communication. Is there another option or have you experienced using MQTT for this purpose?
Thanks.
You can go services like Parse Pushnotification or UrbanAirship. They basically work on GCM For Android(support ios too but i am not sure on the details). These have very user-friendly interfaces and easy to implement in aps.
I'm trying to create application for Android and iOS and, i want to use push notification on both the application. I'm going to have a server app that will be sending the notification.
but i am trying to APNS and Parse SDK it's common to use ,but i want GCM through push notifications on iOS ,can you please how can it possible ,any such information about GCM to iOS push notifications ,i am googling but i want some suggestions for GCM through iOS device notifications.Can you help me.thank you.
There is very good descriptive instructions in Google Cloud Messaging for iOS guide. It shows whole flow from registration of device token to receive push from server with code example.
After go through above guide, you may go for Setting up a GCM Client App on iOS and you are almost done to use GCM with iOS application
Update: GCM now supports IOS. See Grigo´s comment.
GCM is Android specific. If you want to avoid dealing with 2 different services for IOS and Android, you can use something like Amazon SNS for example. SNS now supports pushing cloud notifications to Android, IOS and Windows devices via the AWS Mobile SDK.