iOS push notification using FCM - ios

Currently we are using AWS for sending IOS push notifications and FCM for Android notifications. As FCM also supports IOS notifications, we want to consider that for 2 reasons
It is free service (AWS is not that costly)
to have single interface from app server for push and web notifications
but from FCM documentation, it looks IOS app has to be tightly integrated with FCM API for delivering push notifications (this is not required for AWS). so i want to know if there is a way I can send push notifications without any change to iOS app code.

The iOS app must be configured to receive messages from the FCM Servers.
You'll have to implement the necessary functions (callbacks specifically) in your client app that will handle/receive the messages as mentioned in the Setting Up a Firebase Cloud Messaging Client App on iOS.
It's also through implementing the needed functions you'll be able to generate a token needed by the FCM servers to send a message towards the device(s).

Related

Firebase Cloud Messaging and IOS strengths and weaknesses

I have built an application using phonegap. So far, all of the application features work in both Android and IOS. Now, I would like the app to receive push notifications.
I plan to use Firebase but a friend has warned that FCM can only send push notifications to IOS if a user manually types a message into the FCM console (As in there is no API which would allow my server to send push notifications to IOS manually). The docs haven't helped me prove or refute this warning. Can anyone tell me if I can programmatically send push notifications to IOS using Firebase?
Yes, it is possible to send messages to iOS through Firebase Cloud Messaging through its (server-side) API. You can either just target iOS devices, or send a message to both iOS and Android devices with specific details for each platform.
For full documentation, see https://firebase.google.com/docs/cloud-messaging/send-message.

Does GCM works with iOS PushKit framework?

Is it possible to register for and receive Voip pushes (PushKit pushes) on iOS using Google Cloud Messaging (GCM) service ?
https://developers.google.com/cloud-messaging/ios/start
No, GCM for iOS uses the standard APNS push messages on iOS, not the newer VoIP push messages of Apple PushKit. In this way it is similar to the majority of third party push notification services such as Azure Notification Hub.
To my knowledge, only PubNub supports sending push messages using a unified framework for both GCM and Apple PushKit (VoIP push).

GCM in iOS - clarification

Just wanted to conform if my understanding is correct. As per my understanding, the mechanism involved in delivering the push notification to iOS App is Server -> GCM -> APNS -> iOS App. I am an iOS developer and I know that Apple strictly never allows a server other than APNS server to send a remote notification to iOS App. So, just wanted to know whether the notification is directly pushed to the iOS App from GCM or, via APNS.
Push messages are always sent by APNS.
What services like Google Cloud Messaging or Parse.com do is facilitating the administration of push messages - eg enabling an app to switch pushon or off for an app, or group users so you can send push messages to certain user groups instead of all of them.
GCM is not involved in Push Notification in iOS.
It is carried out through APNS.
Please refer
https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/ApplePushService.html
It will clear all your doubts.
Everything will be clear if you just look at image:
Its showing complete APNS process. This is the process for iOS, no GCM included for iOS.

Receive push notifications from APNS to Titanium (iOS) App without using Appcelerator Cloudpush (ACS)?

I'm now responsible for a initial release of an app for iOS and Android. The developer that started the work has left the company and we are left with an incomplete Titanium application to finish.
Once this app is finished we do not plan to continue using Titanium.
We need to add push notifications to this app.
We have enabled Android push notifications using the standard GCM push servers using http://iamyellow.net/post/40100981563/gcm-appcelerator-titanium-module or https://marketplace.appcelerator.com/apps/5165#!overview
Does anyone know of a guide to use APNS that connects directly to the Apple servers and does not require sending the notification payload via ACS?
Thanks
The first step is to get the device token from apple to do this you have to register for Push notifications, you will find it in detail here
The process that follows is saving the token to your database and using it to send Push notifications, this blog explains it best.
Hope it helps.

IOS Framework with push notifications

I am developing an IOS Framework with several functionalities, and I would like to add push notification services. I created my own push notification service using Easy APNS. I do not know how to deal with others apps when They integrated my SDK. I mean, I do not know, if they have to send me their distribution certificates, and I can add them in my push notifications service, or If I need to integrate something in their push notification servie.
I do not know how to deal with a Framework that will work with others app and push notifications.
Yes, If a app supports APNS then it has bundled with APNS enabled service(Push Notification service) certificate.
Assuming that your server is responsible for sending push notifications to all the applications using your SDK, you'll need to get from the developers of those app their push certificates.
I'm assuming that your SDK will handle the sending of the device token from an application to your server. You'll have to know in your server which device token belongs to which application.
For each application for which you wish to send push notifications, you'll have to maintain a separate connection to APNS using the certificate supplied by the developer of that application.

Resources