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