GCM 是 Android 中推送通知的唯一方式吗?它是否优于其他方法(如果有的话)?
假设我的设备应用在 GCM 上注册。是与注册自身的设备相关联的应用程序本身,还是与注册的用户及其电子邮件 ID 相关联的应用程序本身?如果我的用户将来切换设备,相同的“注册 token ”是否对他有用?或者在类似的情况下,如果具有另一个 g-mail id 的用户从同一设备注册到我的应用程序,我是否将通知推送到具有 2 个不同注册 token 的同一设备?
扩展到我在 2 中提出的问题,假设单个用户在不同设备上的我的应用程序中使用他的 g-mail id。 GCM 是向所有这些设备推送通知,还是只向其中一个设备推送通知?如果是,那么它的优先级如何?
最佳答案
不,Android 中还有其他推送通知服务,例如Parse .但是,强烈建议使用任何具有 Google Play 商店的 Android 设备中存在的默认推送通知服务,因为这样可以减少电池使用量。但是,如果您将应用推向其他地方,例如亚马逊商店,请记住 Kindle Fire 不遵守此规定并且没有 Google Play 服务——至少据我所知是这样。
注册 token 非常不稳定并且根本没有绑定(bind)到电子邮件。实际上,有时同一台设备可能会突然得到一个新的 GCM ID。有很多关于 GCM 最佳实践的教程,但是 Google's是最好的开始方式。为防止出现问题,您应该做的是将设备的 GCM ID 存储在数据库中,这样您就可以始终知道当前与您的设备相关联的 ID。 GCM 可能会无缘无故地为您提供新 ID,因此请务必正确解析其响应并存储它可能提供的新 ID,并将其链接到设备。
GCM 并不关心您的应用使用哪个 Google 帐户。这意味着您可以使用同一个帐户注册任意数量的设备。您必须管理向哪些设备推送通知,因为 ID 由设备管理。
注意:最近 API 发生了一些变化,因此您在 Internet 上找到的许多非官方教程可能指向已弃用的方法。
关于android - 我在我的应用程序中使用 Google Cloud Messaging 推送通知,对此我有 2 个基本疑问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32445854/