重建应用程序时会推送令牌更改吗?

Posted

技术标签:

【中文标题】重建应用程序时会推送令牌更改吗?【英文标题】:Will push token change when app is rebuilt? 【发布时间】:2015-06-19 17:54:16 【问题描述】:

我正计划重建我的一个应用程序(新的 Xcode 项目),它在很大程度上依赖于推送通知。

安装更新后推送令牌会改变吗?

即使用户在更新后没有打开新应用,我也需要通知才能工作。

【问题讨论】:

不,pushtoken 不会根据应用程序构建而改变,它是从哪里构建的。 【参考方案1】:

重建是什么意思?每次重新构建应用程序时,令牌都不会更改。

令牌可以更改,但在更改时并不经常发生,Apple 没有记录它们,但我注意到如果您备份然后从 iTunes 恢复应用程序就会发生这种情况。

但是您的系统应该被设计为应对它们的变化 - 您的客户端代码应该在每次启动时获取令牌并将其与缓存版本进行比较,如果它们不同,您必须发送新的一个到您的服务器。如果应用没有缓存,则将最近检索到的一个发送到服务器。

【讨论】:

我正在创建一个新的 Xcode 项目,具有相同的标识符和证明。轮廓。这将是更新而不是商店中的新应用。我知道,我必须处理令牌更改,我正在这样做。问题是 - 安装更新后它会改变吗?用户通常在收到通知后打开它,这就是我担心的原因。 我不认为一个新的 Xcode 项目是否有相同的配置文件和标识符等。但我不知道,我怀疑其他任何人都不会尝试它。【参考方案2】:

在您的application:didFinishLaunchingWithOptions: 方法中,您应该拨打电话以注册推送通知。每次启动应用程序时都会发生这种情况,因为 deviceToken 可以根据 [Insert Reasons Here] 进行更改。

这意味着您应该在每次返回新的 deviceToken 时检查它,如果它发生变化,请在您的服务中更新它。

【讨论】:

是的,我知道这一点。但我最初的问题有点不同。 我的错,我明白你现在在说什么了。我要说的是,在您执行上述代码之前,deviceToken 不会改变,因此在启动应用程序之前它应该是相同的。 我也是这么想的,但是像这样的事情你永远不会知道。谢谢。

以上是关于重建应用程序时会推送令牌更改吗?的主要内容,如果未能解决你的问题,请参考以下文章

Apple 推送通知令牌

来自 Xcode 构建和 App Center 构建更改的 APNS 设备令牌仅从 xcode 接收推送通知

如何在firebase推送通知中重用旧通知令牌作为新令牌?

通过 PHP 广播推送通知

取消订阅 Apple 推送通知服务

Firebase 会惩罚失败的推送通知吗?