Does GCM works with iOS PushKit framework? - ios

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).

Related

How can I implement push notifications for iOS and Android devices using SendBird

I am implementing a chat feature in my iOS and Android app and want to setup the push notification.
How can I implement push notifications for iOS and Android devices?
According to the help center:
There are two ways to implement push notifications for your app:
Built-in push notification services
SendBird supports iOS and Android push notifications through FCM (Firebase Cloud Messaging, previously Google Cloud Messaging), and APNs (Apple Push Notification Service).
Please refer to the following guide:
Android: https://docs.sendbird.com/android#push_notifications
iOS: https://docs.sendbird.com/ios#push_notifications
Webhooks
If you want to implement your own custom push notifications, you should use Webhooks. Webhooks can be enabled from the SendBird Dashboard under Settings - Notifications - Webhooks.
The callback URL that you specify will be called whenever messages are sent in a channel.
Please refer to the following documentation:
https://docs.sendbird.com/platform#webhooks

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.

iOS push notification using FCM

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).

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.

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