【问题标题】:device tokens for Apple Push Notifications providerApple Push Notifications 提供程序的设备令牌
【发布时间】:2012-01-01 13:30:05
【问题描述】:

如果我是多个 iOS 应用的 Apple 推送通知“提供者”,我可以为多个应用使用相同的设备令牌吗?我知道每个应用程序都需要唯一的 SSL 证书。但是我对设备令牌感到困惑。

示例:我有两个应用 A 和 B。我想为这两个应用提供推送通知。假设我从安装应用程序 A 的用户那里收集设备令牌 T。假设我对这两个应用程序都有唯一的 SSL 证书。当同一用户安装应用 B 时,我可以在为应用 B 提供推送通知时重复使用令牌 T 吗?

更多信息:重读Apple's docs 后仍不清楚。这一段似乎特别暗示设备令牌可以重复使用:

提供者发送给 APNs 以传递给设备的每个通知都必须附有它从该设备上的应用程序获得的设备令牌。 APNs 使用令牌密钥解密令牌,从而确保通知有效。然后它使用设备令牌中包含的设备 ID 来确定通知的目标设备。

注意:听起来,每个应用的提供商 SSL 证书中包含的“主题”/bundleID 会将通知定向到设备上的特定应用。因此,设备令牌对于设备(而不是设备上的应用程序)是唯一的似乎是合理的。

【问题讨论】:

    标签: ssl-certificate apple-push-notifications devicetoken


    【解决方案1】:

    对于两个应用 A 和 B,设备令牌对于沙盒 ssl 证书将是相同的,但对于分发配置文件(即使用生产 ssl 证书时)会改变

    此外,升级操作系统时设备令牌可能会发生变化

    我也开发了一个“提供者”,我更喜欢为每个应用存储设备令牌。 即(APP_A => Token1;APP_B => Token1) 每次设备向提供者发送注册请求时,检查表中是否存在APP和设备令牌的组合,如果没有则重新插入。

    这样即使设备令牌因某种原因发生变化,您也不必担心。

    【讨论】:

    • 有趣。请提供相关 Apple 文档的链接。从我在这里读到的 Apple 文档link 听起来设备令牌对于沙盒和生产来说可能是相同的。
    • 据我了解,作为提供商,您希望重新使用从 APP A 收到的令牌 T 将通知推送到安装在同一设备上的 APP B。 ??
    • 您可以这样做..但这不是理想的方法。假设我是用户并安装了 App A,当我第一次启动该应用程序时,我会收到一个提示,询问我是否要允许该应用程序的推送通知。如果我选择“不允许”,那么您的服务器将不会收到令牌。因此,您不应依赖一个应用程序来发送令牌。您的每个应用程序,即使它们在同一设备上,也应向提供者服务注册自己的令牌。
    • 如果用户不允许 App A 的通知,您不应该将通知推送到 App A 的该设备,即使您推送,Apple 推送通知服务也会拒绝它。另外,我希望您知道从您的提供商服务到苹果服务的连接是每个 APP。所以用户不会错误地收到通知。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多