Push Notifications without Apple Push Notification Service? - ios

Can one use a 3rd party service to send Push Notifications without relying on the Apple Push Notification Service (APNS)?
If it is a requirement that one use the APNS service, is it simply a requirement for App Store approval or is it a technological limitation?
I have seen other questions, such as this one: Apple push notification without Apple Server, but it mainly deals with sending files and is several years old.

Apple requires you to use APNS to send push notifications to devices. This cannot be done without APNS, if you found a way around this then Apple would most likely reject the app.
Click here to read the documentation. When you register for push notifications you are actually getting the device token for your app on that specific device from APNS, therefore that is an APNS specific token and you will need to use APNS to send the notification.

Related

how to receive/send multiple iOS push notifications

I have implemented push notifications in my application and receiving them without any issue. Problem occurs when my app is in offline, if I send more than one notification at that time (eg.5 notifications), when my device comes to online it is receiving only the latest notification.
Even when I checked with the apple documentation it is clearly mentioned that APNS will retain only the latest push notification received from 3rd party server.
But how all the other apps like(social networking and chat apps) could able to send multiple notifications when device goes to online from offline.
Do we have to implement specifically or we have any 3rd party providers or frameworks which gives the service.
If any 3rd party providers are giving the service, how they are doing? does apple gives any feedback server whether the notification is delivered to the device or not so that our 3rd party server can send the undelivered message again?
You can resolve this by external services which gives you several advantages:
1) send push notifications asynchronouslly
2) send multiple push notifications
3) easilly subscribe unsubscribe
I have used Urban Airship and have been sutisfied.

Sending Apple Push Notification directly from device to device

As far as I can read, it is technically possible to initiate an Apple Push Notification from an iOS App instead of via a server/service.
It would require the push notification certificate to be bundled with the app, and device tokens for the receiving devices must be exchanged.
Offhand this seems like a usable solution for some notification scenarios, but are there other limitations? Would such a setup not be accepted in an App submitted to the app store? Would exchanging device tokens pose some sort of risk? It would save the cost of a notification service and it would distribute the processing to the clients instead of the server.
What am I missing?
try NWPusher...
this is a third party but sends notification from ios to

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.

Can iOS GCM coexist with native Apple pushes?

I want to add GCM 3.0 for iOS to my app for some specific communication between my client and server, but my app already uses regular Apple Push messages for other things, and I want to keep it that way (i.e. I don't want to switch everything over to GCM).
I understand that GCM for iOS sends downstream messages through APNS when the app is in the background. My question is, will this interfere with my existing uses of Apple Push messages? For example, maybe GCM's push message will have a badge of zero and that removes my app's badge that was set by my regular pushes?
If you will have both your own APNS provider and GCM sending notifications to APNS, they will interfere with each other, but not in the way you expect. The problem would be with receiving feedback from APNS: GCM will receive a part of feedback periodically without knowing what feedback your own provider received, and vice versa, which may cause bad behavior as it seems from APNS perspective and lead to APNS connection drops.
As for using GCM without APNS, apparently GCM doesn't encourage that.

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