クライアントでのプッシュハンドラ初期化処理で、処理結果を受け取るクラスを実装すると、メッセージおよびエラー通知を受信できます。
PushReceiverの派生クラスを実装し、Pushのクラス生成時に指定します。メッセージ受信時、エラー発生時はcallbackメソッドが呼ばれます。
なお、クライアントアプリケーションが動作中(フォアグラウンド、またはバックグラウンド)の場合に、メッセージを受信できます。
.... // Pushのエラー通知クラス public class pReceiver extends PushReceiver{ @Override public void callback(int result, Bundle data) { // ここに通知されます } } //GCMにregistraionIDを要求 pReceiver prec = new pReceiver(); GcmRegister gcm = GcmRegister.getInstance(this, prec); gcm.regist(SENDER_ID); // SENDER_IDは、Googleの開発者向けのWebサイトでGCM向けのものを入手;
PushReceiver :: callback(int result, Bundle data)に通知される内容は以下のとおりです。
状態 | result | Bundle | |
---|---|---|---|
ID登録 | RESULT_REG_SERVER_GCM_SUCCESS | - | - |
ID登録サーバとの接続失敗 | RESULT_REG_SERVER_GCM_CONNECT_FAIL | - | - |
ID登録失敗 | RESULT_REG_SERVER_GCM_FAIL | - | - |
状態 | result | Bundle | |
---|---|---|---|
キー名:MESSAGE_BUNDLE_GCM_MESSAGETYPE_KEY | キー名:MESSEAGE_BUNDLE_PAYLOAD_KEY | ||
GCMメッセージ受信 | RESULT_RECEIVE_GCM_MESSAGE | GoogleCloudMessaging.MESSAGE_TYPE_DELETED (注) | Bundle ペイロード |
GoogleCloudMessaging.MESSAGE_TYPE_MESSAGE (注) | |||
GoogleCloudMessaging.MESSAGE_TYPE_SEND_ERROR (注) |
com.google.android.gms.gcm.GoogleCloudMessaging public static final String MESSAGE_TYPE_DELETED Constant Value: "deleted_messages" public static final String MESSAGE_TYPE_MESSAGE Constant Value: "gcm" public static final String MESSAGE_TYPE_SEND_ERROR Constant Value: "send_error"
状態 | result | Bundle | |
---|---|---|---|
キー名:ERROR_BUNDLE_CODE_KEY | キー名:ERROR_BUNDLE_DATA_KEY | ||
IMAPSサーバへの既読通知成功 | RESULT_NOTIFY_MESSAGEREAD_SUCCES | - | - |
IMAPSサーバへの既読通知失敗 | RESULT_NOTIFY_MESSAGEREAD_FAIL | BUNDLE_STATUSCODE_KEY | ステータスコード |
IMAPSサーバへの接続失敗 | RESULT_SERVER_CONNECT_FAIL | - | - |