我需要APNS证书和VOIP证书吗?

4
我们的应用程序已经注册了APNS。由于我们将要实现PushKit,我们也创建了VOIP证书。这真的有必要吗?难道我们不能只使用APNS证书来发送VOIP推送吗?
现在有两个证书,我必须维护两个令牌。一个用于发送普通推送,另一个用于发送VOIP推送。
难道我们不能只使用一个令牌/证书来完成两种目的吗?
4个回答

12

实际上,您可以使用一个通用证书来进行VoIP推送和普通推送。当您发送普通推送时,请使用普通主题和普通令牌,一般为您的捆绑标识符

com.company.appname

当您发送VoIP推送时,请使用VoIP主题和pushkit令牌,它是

com.company.appname.voip

查看Apple中的链接


同意。参考:https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/APNSOverview.html#//apple_ref/doc/uid/TP40008194-CH8-SW1 - Desmond DAI

2
实际上,使用单个证书同时进行标准和VoIP推送是可能的。
苹果文档和门户并不那么明显,我个人花了很多时间来理解它。
但我可以百分之百确定的是:
实际上,您可以创建3种类型的证书:
- 通用(适用于生产/沙盒标准推送+ VoIP) - 仅沙盒用于标准推送 - 仅VoIP(适用于Prod+Sandbox)
如您所见,您可以创建一个单一的通用证书,用于一切,简化您的生活 - 只需忘记单独的通用和VoIP证书。
这是一个很棒的指南,我用它来生成单个通用证书,可以在任何地方使用:https://developers.connectycube.com/ios/how-to-create-apns-certificate 强烈推荐。我个人不再创建单独的沙盒和VoIP证书。

1
但是,我们仍然需要两个不同的代码来接收常规和VOIP通知。并且需要维护不同的设备令牌? - Jamil

0

不可以使用相同的证书和设备令牌来处理简单推送和 VOIP 推送。您需要为两者创建单独的证书,因为它们会生成不同的设备令牌,无法互换使用。


但是我们可以使用VOIP推送令牌发送普通推送,对吗? - Mohamed yaseen
不,你不能这样做!如果你尝试这样做,它可能会起作用,但它不会是简单的推送,所有的推送都将是VOIP推送,并且将在相应的委托方法中处理。这将直接执行didreceive方法中编写的代码。并且不会显示横幅,因为这被认为是静默推送通知。 - Krishna Datt Shukla
啊,好的,我明白了。我知道静默推送,只需要测试一下以确保,无论如何感谢你的帮助 :) - Mohamed yaseen
您好!如果您想要使用VOIP来进行简单的推送,那么就需要预定本地通知以显示横幅。 - Krishna Datt Shukla
是的,我知道 :) - Mohamed yaseen

0

是的,您必须保留/维护两个证书和两个令牌,因为APNS和VOIP证书在目的上完全不同。

带有'content-available'=> 1的Pushkit负载将是静默通知,并且不会出现在通知栏中。

之所以要分别保留两者是因为“某些用户可能不想为特定应用程序注册VOIP功能”。

检查一些必要的这里


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接