ページの先頭行へ戻る
Interstage Mobile Application Server V1.3.0 アプリケーション開発ガイド
FUJITSU Software

6.5.10 GCMプッシュの処理結果受け取り

クライアントでのプッシュハンドラ初期化処理で、処理結果を受け取るクラスを実装すると、メッセージおよびエラー通知を受信できます。

PushReceiverの派生クラスを実装し、Pushのクラス生成時に指定します。メッセージ受信時、エラー発生時はcallbackメソッドが呼ばれます。
なお、クライアントアプリケーションが動作中(フォアグラウンド、またはバックグラウンド)の場合に、メッセージを受信できます。

GCMプッシュの場合の例を以下に示します。
    ....
// 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)に通知される内容は以下のとおりです。

表 6.7 通信情報
状態 result Bundle
ID登録 RESULT_REG_SERVER_GCM_SUCCESS
ID登録サーバとの接続失敗 RESULT_REG_SERVER_GCM_CONNECT_FAIL
ID登録失敗 RESULT_REG_SERVER_GCM_FAIL
各定義値はPushDefineクラスに定義
表 6.8 メッセージ受信
状態 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 (注)
各定義値はPushDefineクラスに定義
注) 以下の文字列が通知されます。
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"
表 6.9 既読通知情報
状態 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
各定義値はPushDefineクラスに定義