我需要 APNS 证书和 VOIP 证书吗?
Posted
技术标签:
【中文标题】我需要 APNS 证书和 VOIP 证书吗?【英文标题】:Do I need APNS certificate as well as VOIP certificate? 【发布时间】:2017-04-05 09:23:43 【问题描述】:我们的应用程序已经注册了 APNS。因为我们要实现PushKit
,所以我们也创建了VOIP证书。真的有必要吗?
我们不能只使用 APNS 证书进行 VOIP 推送吗?
由于现在有两个证书,我必须维护两个令牌。一个用于发送普通推送,另一个用于发送 VOIP 推送。
我们不能简单地将一个令牌/证书用于两个目的吗?
【问题讨论】:
【参考方案1】:实际上,您可以为您的 voip 推送和普通推送使用一个通用证书。 当你发送普通推送时,使用普通主题和普通令牌,这通常是你的包标识符
com.company.appname
当您发送 voip 推送时,请使用 voip 主题和您的 pushkit 令牌,即
com.company.appname.voip
See links in Apple
【讨论】:
同意。参考:developer.apple.com/library/content/documentation/…【参考方案2】:实际上,可能对标准和 VoIP 推送都使用单一证书
Apple docs 和 portal 不是很明显,我个人花了很多时间来理解它
但我可以 100% 肯定地说:
实际上您可以创建 3 种类型的证书:
通用(用于生产/沙盒标准推送 + VoIP) 仅适用于标准推送的沙盒 仅 VoIP(适用于 Prod+Sandbox)如您所见,您可以为一切创建一个通用证书,从而简化您的生活 - 只需忘记单独的通用证书和 VoIP 证书。
这是我用来生成单个通用证书的很酷的指南,它可以在任何地方使用 https://developers.connectycube.com/ios/how-to-create-apns-certificate
强烈推荐。就我个人而言,我不再创建单独的 Sandbox-only 和 VoIP 证书了。
【讨论】:
但是,我们将有 2 个不同的代码来接收常规和 VOIP 通知。以及要维护的不同设备令牌?【参考方案3】:不,您不能将相同的证书和设备令牌用于简单推送和 VOIP 推送。您必须需要为两者创建单独的证书。因为两者都会生成不同的设备令牌,不能相互使用。
【讨论】:
但是我们可以使用VOIP推送令牌发送正常推送吗? 不,你不能!如果您尝试这样做,那么它会起作用,但它不会是简单的 push ,所有推送都将是 VOIP 推送,并将在各自的委托方法中处理。这将直接执行在 didreceive 方法中编写的代码。并且不会向您显示横幅,因为这被视为静默推送通知 啊,好的,我明白了。我知道无声推送,只需测试一次即可确定,无论如何感谢您的帮助:) 欢迎您..!如果您想使用 VOIP 进行简单推送,则需要安排本地通知以显示横幅。 是的,我知道 :)【参考方案4】:是的,您必须保留/维护这两个证书和两个令牌,因为 APNS 和 VOIP 证书的用途完全不同。
带有'content-available'=> 1
的 Pushkit 负载将是静默通知,不会出现在通知栏中。
保持两者不同的原因是“某些用户可能不想为特定应用注册 VOIP 功能”。
检查一些需要的东西here。
【讨论】:
以上是关于我需要 APNS 证书和 VOIP 证书吗?的主要内容,如果未能解决你的问题,请参考以下文章