0

我是android编程的新手。我的应用程序运行来自 GCM 的推送通知。我正在多个设备上对其进行测试。在我拥有的一台平板电脑上,它抛出异常 Device does not have package com.google.android.gsf 现在我知道如何在 android 模拟器上解决这个问题,因为它发布在这里

我的问题是,作为应用程序开发人员,如果使用该应用程序的人没有 com.google.android.gsf,我该如何处理?这到底是什么意思?他们必须在手机中设置谷歌帐户吗?那些使用 yahoo 或 hotmail 的人呢?

4

1 回答 1

0

在 4.0.4 之前的 Android 版本上,Google 帐户曾经是 GCM 注册所必需的。现在已经不是这样了。

如果您的应用使用 Google Play 服务注册到 GCM,则无论 Android 版本如何,您都不再需要 Google 帐户。如果您使用的是旧客户端库(其中包含 GCMRegistrar 类),您仍然需要一个 Google 帐户。

以下是一位 Google 开发人员所写的内容(取自此处):

一些背景知识: Froyo 和 Gingerbread 注册是在 GoogleServicesFramework 中实现的,使用 Google 帐户进行注册。对于帐户状态不佳的人来说,这导致了很多身份验证错误。

从 ICS 开始,GCM 不依赖或不使用 Google 帐户 - 您可以在添加帐户之前使用它,也可以不使用任何帐户。

“播放服务”更新正在所有设备上实施新方案 - 但似乎有少数设备存在问题,我们正在调查 - 但数字远低于旧方案。

如果您想使用 GSF 中的代码,用于 Froyo 和 Gingerbread - 您需要使用之前的库,该库明确设置包名称。GCM 中的新库正在使用新的注册码。

与谷歌的实际连接遵循相同的路径——我们正在逐渐(并且缓慢地)将设备移动到新的代码在播放服务中。

于 2013-11-07T22:05:11.500 回答