Why separate Voip certificate is required for Pushkit when APNS Universal Client SSL Certificate has been introduced?
Asked Answered
J

2

7

Just a minor confusion. Why we need a separate Voip Service Certificate for Pushkit when we have Universal Client SSL certificate for APNS which supports primary app, voip etc?

As per latest Apple docs,

enter image description here

enter image description here

If my app supports multiple topics (voip/non-voip), is it not better to use single APNS SSL certificate rather than separate certificates? This will also make sure same connection (APNS Provider to APNS) can be used for delivering both Voip Push as well as standard Push.

Jylland answered 9/8, 2016 at 6:55 Comment(0)
K
2

You don't. The universal will work with both APNS and PushKit. Your server signals which one it wants by setting the appropriate "topic" on the push notification.

Kyliekylila answered 30/3, 2017 at 3:12 Comment(2)
In the Apple Developer portal there is a place to create certificates. Just choose the Certificates, hit the plus, and choose "Apple Push Notification service SSL" -- either the sandbox or sandbox + production version, depending on your needs. As of now, it appears Apple does not even list the APNS only one anymore. For a while both were listed. A note in the description says that you need to use HTTP/2 with it to make it universal (meaning your server component that pushes to Apple). That is because that is how you would set the topic, which is how Apple tells what kind to push.Kyliekylila
I am using APNS SSL sandbox+production certificate along with pushkit to wake up my app to establish socket. Which token should I send to the server so that the pushkit's delegate method "didReceiveIncomingPushWithPayload" gets called when the server requests APNS to send a push to app? Please find further details here #61227426Buckler
M
2

According to apple's documents,

There are many advantages to using PushKit to receive VoIP pushes:

  • The device is woken only when VoIP pushes occur, saving energy.

  • Unlike standard push notifications, which the user must respond to before your app can perform an action, VoIP pushes go straight to
    your app for processing.

  • VoIP pushes are considered high-priority notifications and are delivered without delay.
  • VoIP pushes can include more data than what is provided with standard push notifications.
  • Your app is automatically relaunched if it’s not running when a VoIP push is received.
  • Your app is given runtime to process a push, even if your app is operating in the background.

Clauses 2-6 are the advantages of VoIP compared to APNs, but they are not suitable to given to common apps.So they must be separated.

Moulton answered 27/8, 2016 at 15:10 Comment(6)
Usage of Pushkit over standard Push is fine. Question is why to configure Voip Certificate separately now, when Apple has come up with generic certificate? Do you mean - If App supports both Voip/non voip, then use generic certificate. And if app supports only Voip, then use Voip Service certificate. My concern is - when Pushkit & standard Push both can be supported using generic certificate, why to go for separate Voip certificate at all?Jylland
Also, not sure on #4 "VoIP pushes can include more data than what is provided with standard push notifications." - With http/2 apns interface, standard pushes are also supported till 4k bytes. You sure this statement is valid?Jylland
@Jylland From the docs, regular push allows up to 4 KiB payload, VoIP push allows up to 5 KiB.Tycho
Confused as to how this got any upvotes given that it doesn't answer the question. If the regular authentication certificate can support VoIP, why use the VoIP-specific certificate?Tycho
@Tycho : Yes. Voip Push now supports 5K bytes (it got increased from 4 to 5). Also, yes, Voip Specific certificate is not required now. Universal Certificate will suffice for both VOIP as well as non-voip apps.Jylland
The universal is now labeled "Apple Push Notification service SSL" on the Apple Developer website when generating, and you need to use HTTP/2 on the server side when you push so you can set the topic, which is how Apple differentiates APNS from PushKitKyliekylila
K
2

You don't. The universal will work with both APNS and PushKit. Your server signals which one it wants by setting the appropriate "topic" on the push notification.

Kyliekylila answered 30/3, 2017 at 3:12 Comment(2)
In the Apple Developer portal there is a place to create certificates. Just choose the Certificates, hit the plus, and choose "Apple Push Notification service SSL" -- either the sandbox or sandbox + production version, depending on your needs. As of now, it appears Apple does not even list the APNS only one anymore. For a while both were listed. A note in the description says that you need to use HTTP/2 with it to make it universal (meaning your server component that pushes to Apple). That is because that is how you would set the topic, which is how Apple tells what kind to push.Kyliekylila
I am using APNS SSL sandbox+production certificate along with pushkit to wake up my app to establish socket. Which token should I send to the server so that the pushkit's delegate method "didReceiveIncomingPushWithPayload" gets called when the server requests APNS to send a push to app? Please find further details here #61227426Buckler

© 2022 - 2024 — McMap. All rights reserved.