Push Notification without APNS having secure Intranet - ios

For IOS App, we have secure intranet and want to send push notification without APNS.
I have gone through may scenarios on here on site. I am not able to find any answer if using our network and server is it possible to send push notification without APNS.
For Android App I found that it is possible to bypass GCMS. what about to bypass APNS for IOS?

APNS can not work in closed networks ! You need internet to reach publicly hosted Apple Cloud Server. It's not possible to by-pass Apple servers for any Push Notification to be delivered to your app.

Related

Push Notifications without Apple Push Notification Service?

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.

Use Meraki to send push push notifications to the app

I am developing an iOS app for a client which is Meraki controlled. The Meraki solution is controlled by the client, I just ship the ipa file via a plist file.
Now I want to add push notifications as an enhancement to the app. As Meraki works based on push notifications (Meraki Push Notification), I was wondering if I can actually use it to send app related push notifications?
So can I ask for the p12 file of the client, deploy it on our server and send push notifications on API calls (e.g. C# push notifications IIS) which would spare me using a third party provider or my own push service?
You can use the Meraki AP's Bluetooth Beacon if you have a model MR32/42/52/53/72. This sends a message directly to the mobile app. You'll need the mobile app to have the Apple iBeacon service running.
You can also use Meraki's CMX Location API to detect a device's MAC address. It sends an HTTP post to your server. You'll need a server to host a listener, but fortunately ciscoshipped.io will host it for free.
developers.meraki.com

SIP server/provider with PushKit

I develop a SIP app in iOS and I would like to know if anybody have found a sip server that supports PushKit. It might be
an existing sip provider
an opensource sip server (eg asterisk) with this capability implemented
The SIP server doesn't need to support PushKit, this is something in iOS. There are 2 types of push notifications that the app can recognize and handle differently.
Through the Apple developers portal you will need to generate a certificate type of Voip Services. Use this and the token while pushing and in iOS register and lookout for these.
This site shows differences between push types: https://zeropush.com/guide/guide-to-pushkit-and-voip
Apples best practices for VoIP: https://developer.apple.com/library/ios/documentation/Performance/Conceptual/EnergyGuide-iOS/OptimizeVoIP.html
On your SIP server, you will just need to send a push notification on an incoming call. If you use Asterisk you can use AGI so you can perform the push in whichever language. I've always just use APNS but there's a bunch to choose from like AWS, Urban Airship, Onesignal.
Urbanship confirmed that they would not support voip push in the near future (at the end of 2016). Finally, I found I can just use houston to send voip push. From my experience sending voip push and apn push are just the same from our side, e.g. they send to the same apple server, so I guess apple server will differentiate them based on their tokens and give voip push a higher priority.

Can we send push notification to APNs from iOS device?

I want to send push notification from a iOS device to another iOS device without using backend server. Is it possible for an iOS device to act like a server and send push notification to APNs server?.
Thanks in advance.
Theoretically you can send Apple Push Notifications from a device directly to another device. All you need are the push certificate of the app, the device token of the device you are sending the notification to, and code that establishes a secure TLS connection to the APNS servers.
However, there are several practical problems that make the use of a server almost mandatory :
You need a single place where all the device tokens of all the devices that installed your app will be sent to and persisted in. The best such place would be a server. Without a server, how would device A send its device token to other devices that want to send it push notifications?
Apple require that you keep connections with the APNS server open for as long as possible and use the same connection for sending many notifications. If you open a connection to APNS server on your device, it will probably be short lived (since devices switch networks frequently, and don't stay connected to the internet all the time). Therefore, if you try to send many notifications frequently, and each time use a new connection to APNS, you will probably be banned (since Apple would treat this as DDoS attack).
If you store the push certificate in each device that installs your app (to allow it to send push notifications to other devices directly), aside from the security issue of storing the certificate in many places, you'll have to publish a new version of your app each time the push certificate expires (once a year), and push notifications would stop working for users who don't upgrade to the new version.
Try NWPusher.
It has an iOS framework for sending pushes and has an iOS demo application that sends push notifications from iOS to iOS.
You also need to consider Server costs (other than maintenance and development time if you code your own server).
By sending the push directly from the app device:
- you obtain a much better scalability (since you don't have to centralize everything on your server)
- you don't have to pay for server cost or other service's cost
You can use for iOS:
- https://github.com/noodlewerk/NWPusher Pusher
And for Android:
- Send push notification GCM by java

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