2

在 Android 的 GCM 示例中,示例 GCMIntentService 建议覆盖以下方法:

onError(Context context, String errorId):当设备尝试注册或注销时调用,但GCM返回错误。通常,除了评估错误(由 errorId 返回)并尝试解决问题之外,没有什么可做的。

我的问题是,这个错误 ID 是从哪里来的?例如,如何确定错误是否发生在注册与注销时?

GCMBaseIntentService没有太大帮助,指定errorId - error id returned by the GCM service.

4

1 回答 1

4

以下是 Google 指定的错误代码:

如果应用程序请求(无论是注册还是注销)失败,错误将设置错误代码,并且不会设置其他附加项。以下是可能的错误代码:

服务不可用

设备无法读取响应,或者来自服务器的 500/503 可以稍后重试。Android 应用程序应使用指数退避并重试。有关详细信息,请参阅高级主题。

ACCOUNT_MISSING

手机上没有 Google 帐户。Android 应用程序应要求用户打开帐户管理器并添加一个 Google 帐户。固定在设备端。

AUTHENTICATION_FAILED

错误的 Google 帐户密码。Android 应用程序应要求用户输入他/她的 Google 帐户密码,并让用户稍后手动重试。固定在设备端。

INVALID_SENDER

无法识别发件人帐户。这必须在 Android 应用程序端修复。开发人员必须修复应用程序以在 com.google.android.c2dm.intent.REGISTER 意图中提供正确的发件人额外内容。

PHONE_REGISTRATION_ERROR

使用 Google 进行的电话注册不正确。此手机目前不支持 GCM。

INVALID_PARAMETERS

手机发送的请求不包含预期的参数。此手机目前不支持 GCM。

(引自这里

于 2013-05-09T21:27:38.583 回答