クライアントでのプッシュハンドラ初期化処理で、処理結果を受け取るクラスを実装することで、メッセージおよびエラー通知を受信できます。
PushReceiverの派生クラスを実装し、Pushのクラス生成時に指定します。メッセージ受信時、エラー発生時はcallbackメソッドが呼び出されます。
なお、メッセージ受信が可能なのは、クライアントアプリケーションが動作中(フォアグラウンド、または、バックグラウンド)状態の場合です。
// 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);
状態 | 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 | - | - |
状態 | result | Bundle |
---|---|---|
キー名:MESSEAGE_BUNDLE_PAYLOAD_KEY | ||
IMAPSプッシュメッセージ受信 | RESULT_RECEIVE_MESSAGE | byte[ ] ペイロード |
状態 | 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 | - | - |