单个 APNs 关键在一个组织中的多个应用程序

Tej*_*bit 8 apple-push-notifications ios firebase-cloud-messaging

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

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

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

我的问题是:

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

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

例如:

  • 为每个应用程序使用带有前缀的主题?
  • 创建设备组,每个应用程序一个?

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

Pau*_*w11 13

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

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

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

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

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

  • 谢谢您的回答!FCM 主题怎么样:https://firebase.google.com/docs/cloud-messaging/android/topic-messaging?如果我在两台设备上使用相同的密钥安装两个不同的应用程序。firebase和apple如何区分这两个不同的应用程序?是在 firebase 上创建两个应用程序并生成两个不同的 GoogleService-Info.plist 文件时吗? (4认同)
  • 如果您使用 FCM,那么您需要为每个 iOS 应用程序创建不同的 firebase 应用程序,这反映在您提到的 GoogleService 文件中。然后,根据 Firebase 后端中的正确应用程序记录应用程序推送通知注册 (2认同)