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

7.5.9 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)

に通知される内容は以下のとおりです。


通信情報

状態

result

Bundle

ID登録

RESULT_REG_SERVER_GCM_SUCCESS

ID登録サーバとの接続失敗

RESULT_REG_SERVER_GCM_CONNECT_FAIL

ID登録失敗

RESULT_REG_SERVER_GCM_FAIL

各定義値はPushDefineクラスに定義


メッセージ受信

状態

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"