为啥 GCM 需要 google 帐户登录才能在 4.0.4 操作系统以下的设备上工作?

Posted

技术标签:

【中文标题】为啥 GCM 需要 google 帐户登录才能在 4.0.4 操作系统以下的设备上工作?【英文标题】:Why google Account login is required for GCM to work for devices below 4.0.4 OS?为什么 GCM 需要 google 帐户登录才能在 4.0.4 操作系统以下的设备上工作? 【发布时间】:2014-08-26 05:25:14 【问题描述】:

android 开发者文档说:

它使用现有的 Google 服务连接。对于 3.0 之前的设备,这要求用户在其移动设备上设置其 Google 帐户。运行 Android 4.0.4 或更高版本的设备不需要 Google 帐户。

为什么需要该帐户登录。谷歌如何消除设备 > 4.0.4 的必要性?

【问题讨论】:

【参考方案1】:

GCM 不再需要登录 Google 帐户。过去注册 GCM 需要它,但最近的 Play 服务更新停止使用 Google 帐户,即使在 Froyo 和 Gingerbread 上也是如此。

如果您使用 Play 服务注册到 GCM(即使用 GoogleCloudMessaging.register),您不再需要在任何 Android 版本上配置 google 帐户。如果您使用的是已弃用的库 (GCMRegistrar.register),您仍然需要 4.0.4 之前版本的 Google 帐户。

更多详情请访问https://groups.google.com/forum/#!topic/android-gcm/ecG-RfH-Aso 和GET_ACCOUNTS permission while using GCM - Why is this needed?

【讨论】:

GCMRegistrar.register 是否将 accountID(已登录)发送到 gcm 服务器?现在它如何识别设备和帐户? 之前GCM在GoogleServicesFramework中实现(需要google账号),旧版本使用谷歌账号注册。但现在它完全依赖于 Google Play 服务,即使在旧版本上也不需要添加谷歌帐户。

以上是关于为啥 GCM 需要 google 帐户登录才能在 4.0.4 操作系统以下的设备上工作?的主要内容,如果未能解决你的问题,请参考以下文章

GCM 无法使用公司 Google 帐户

谷歌云消息传递必须使用 gmail 帐户吗

需要谷歌服务框架才能运行的App,需要注册Google帐户吗?

Google+ 登录无法正常工作

使所有 gcm 令牌无效

GCM:在多个设备上使用相同的帐户 - 会发生啥?