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

6.5.9 IMAPSプッシュの処理結果受け取り

クライアントでのプッシュハンドラ初期化処理で、処理結果を受け取るクラスを実装することで、メッセージおよびエラー通知を受信できます。
PushReceiverの派生クラスを実装し、Pushのクラス生成時に指定します。メッセージ受信時、エラー発生時はcallbackメソッドが呼び出されます。
なお、メッセージ受信が可能なのは、クライアントアプリケーションが動作中(フォアグラウンド、または、バックグラウンド)状態の場合です。

IMAPS プッシュの場合の例を以下に示します。
// Pushのエラー通知クラス
public class pReceiver extends PushReceiver{
    @Override
    public void callback(int result, Bundle data) {
         // ここに通知されます
    }
}

// Pushの初期化
pReceiver prec = new pReceiver();
PushManager pm = new PushManager(context, prec);
pm.bind(PushService.class);
         
通知される内容は以下のとおりです。
表 6.4 通信情報
状態 result Bundle
キー名:ERROR_BUNDLE_CODE_KEY キー名:ERROR_BUNDLE_DATA_KEY
自分でBrokerを切断 RESULT_CONNECT_FAIL ERROR_CODE_NOMAL null
Brokerネットワーク利用不可 RESULT_CONNECT_FAIL ERROR_CODE_NETWORK_NOT_AVAILABLE ConnectException
Broker接続不可(タイムアウト) RESULT_CONNECT_FAIL ERROR_CODE_SOCKET_TIMEOUT SocketTimeoutException
Brokerアクセス権限なし(内部エラー) RESULT_CONNECT_FAIL ERROR_CODE_NOACCESS_AUTHORITY null
SSL認証エラー RESULT_CONNECT_FAIL ERROR_CODE_SSL_HANDSHAKE_FAILED SSLHandshakeException
Broker停止 RESULT_CONNECT_FAIL ERROR_CODE_BROKER_SEVERANCE EOFException
ネットワーク切断 RESULT_CONNECT_FAIL ERROR_CODE_NETWORK_LOST SocketException
原因不明のエラー RESULT_CONNECT_FAIL ERROR_CODE_UNKNOWN 上記以外の例外の場合
Broker接続成功 RESULT_CONNECTED
ID払出し成功 RESULT_REG_SERVER_SUCCESS
ID払出しサーバとの接続失敗 RESULT_REG_SERVER_CONNECT_FAIL
ID払出し失敗 RESULT_REG_SERVER_FAIL
プッシュサービスとのbindに成功した RESULT_BIND_SERVICE_SUCCESS
プッシュサービスとのunbindに成功した RESULT_UNBIND_SERVICE_SUCCESS
各定義値はPushDefineクラスに定義
表 6.5 メッセージ受信
状態 result Bundle
キー名:MESSEAGE_BUNDLE_PAYLOAD_KEY
IMAPSプッシュメッセージ受信 RESULT_RECEIVE_MESSAGE byte[ ] ペイロード
各定義値はPushDefineクラスに定義
表 6.6 既読通知情報
状態 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クラスに定義