首页 > 解决方案 > 单个 APN 键在一个组织中的多个应用程序上

问题描述

我的组织维护多个应用程序,并且对于应该如何使用 APNs 密钥存在混淆。我们正在使用 firebase 发送推送通知。

到目前为止,我们有两个用于两个不同应用程序的苹果键。但无法在激活 APN 的情况下创建第三个密钥。 Apple 密钥 APNs 错误

这个问题表明我们应该对所有应用程序使用相同的密钥。

我的问题是:

如果我们只能为一个组织创建两个密钥,那么一个应该用于生产,一个用于测试/开发?

如果我们对多个不相关的应用程序使用相同的密钥(除了这些应用程序都是由同一个组织创建的之外不相关),什么会阻止云消息被推送到错误的应用程序。它与应用程序的标识符有关吗?我们是否应该创建一个约定来规避向错误的应用程序发送消息的问题?(我实际上并不认为这是一个非常有效的选择。感觉非常错误。)

例如:

我也在这里问过这个问题:https ://forums.developer.apple.com/message/415911#415911

标签: iosfirebase-cloud-messagingapple-push-notifications

解决方案


密钥用于对服务进行身份验证。它向服务标识您的组织。

您可以拥有两个密钥的原因是,如果密钥被泄露,您可以在撤销旧密钥之前创建一个新密钥。

当应用程序注册远程通知时,您会收到该设备上该应用程序的唯一标识符。如果您在该设备上有多个应用程序,每个应用程序都会获得不同的标识符。

当您发送推送通知时,标识符可确保它到达正确设备上的正确应用程序。

您需要确保将标识符存储在后端的正确应用程序上(或者您可能对不同的应用程序有不同的后端)。


推荐阅读