Android 其中移动平台;“推送令牌”;这不是永久的吗?

Android 其中移动平台;“推送令牌”;这不是永久的吗?,android,ios,windows-phone-7,blackberry,push-notification,Android,Ios,Windows Phone 7,Blackberry,Push Notification,我们都知道,为了在任何移动平台上使用推送通知功能,我们需要一个称为“推送令牌”的唯一标识符 开发人员需要以某种方式将此“令牌”保存到服务器,以便能够向用户发送通知 然而,这种“代币”将在哪些移动平台上保持永久性,并可能在哪些移动平台上发生变化 换句话说,在哪种情况下,开发人员必须注意更新数据库中的用户“令牌”(如果发生更改) 答案应该包括:iOS、android、WP、BB平台 *如果您知道这些平台中至少一个答案,请发布您的答案,最后我将总结所有答案,得出完整的答案。*在android中,如果您

我们都知道,为了在任何移动平台上使用推送通知功能,我们需要一个称为“推送令牌”的唯一标识符

开发人员需要以某种方式将此“令牌”保存到服务器,以便能够向用户发送通知

然而,这种“代币”将在哪些移动平台上保持永久性,并可能在哪些移动平台上发生变化

换句话说,在哪种情况下,开发人员必须注意更新数据库中的用户“令牌”(如果发生更改)

答案应该包括:iOSandroidWPBB平台


*如果您知道这些平台中至少一个答案,请发布您的答案,最后我将总结所有答案,得出完整的答案。*

在android中,如果您使用谷歌云消息,它将改变

请注意,Google可能会定期刷新注册ID,因此 您应该在设计Android应用程序时理解 可以调用com.google.android.c2dm.intent.REGISTRATION intent 多次


有关GCM的完整描述可参见

标记从来都不是永久性的

在iOS中,设备令牌对于设备上的所有应用程序都是相同的。实际上,在升级iOS版本或从备份中恢复设备之前,它保持不变。理论上,苹果公司说它随时都可能改变,所以你应该处理这个案子

通过请求设备令牌并将其每年传递给提供商 应用程序启动时,您可以帮助确保提供程序 具有设备的当前令牌。如果用户将备份恢复到 设备或计算机,而不是为其创建备份的设备或计算机 (例如,用户将数据迁移到新设备或计算机),他 或者她必须至少启动一次应用程序,应用程序才能收到 再次通知。如果用户将备份数据恢复到新设备 或重新安装操作系统、设备令牌 变化。此外,永远不要缓存设备令牌并将其交给您的用户 供应商;无论何时需要,始终从系统获取令牌。 如果您的应用程序以前已注册,请调用 RegisterForRemotionTificationTypes:操作系统中的结果 立即将设备令牌传递给代理,而不会导致 额外的开销

在Android中,同一设备上的每个应用程序的注册ID都是不同的。当您从GCM取消注册应用程序,然后重新注册时,它有时会发生变化。但是,旧的注册ID通常用于向应用程序发送GCM消息(在本例中,您将在响应中获得规范注册ID,要求您使用最新的注册ID)。这就是说,谷歌还声称注册ID可能随时改变,所以你应该处理这个案件

请注意,Google可能会定期刷新注册ID,因此 在设计Android应用程序时,应理解 可以调用com.google.android.c2dm.intent.REGISTRATION intent 多次。您的Android应用程序需要能够响应 因此

注册ID将一直持续到Android应用程序显式启动为止 注销自身,或者直到Google刷新注册ID 你的Android应用程序

在Windows Phone中,我不确定实际中通知通道URI的更改频率,但微软也声称它可能随时更改

所有应用程序都应注册ChannelUriUpdate事件,以防 推送通知URI更改。即使你已经有了一个频道 打开时,应注册ChannelUriUpdated事件以防 URI发生了变化


总而言之,您应该始终将
令牌
视为在您重新启动应用程序时随时可能更改。

对于IOS,如您在此处所见

这里呢

如果用户将备份数据恢复到新设备或重新安装 在操作系统中,设备令牌发生更改


按照EasyAPNS说明(),每次启动应用程序时,您都可以检查令牌是否已注册,并最终注册设备。

永不说永不-BlackBerry push令牌是设备PIN。它永远不会改变。@MichaelDonohue:)这是我从未使用过的一个平台。