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 アカウントを追加するようユーザーに要求する必要があります。デバイス側で修正してください。

認証に失敗しました

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 に答える