2016-05-23 8 views
0

私のアプリはプッシュを正常に送信しています。以下はその詳細です。私は、デバイストークンIDとステータスフィールドのDBテーブルを1つ保守しています。 テーブル内のステータス0を設定するための失敗IDを探します。次回はステータス1のIDだけを取得できます。gcmサーバーの応答からDBテーブルを更新する方法

上記のメッセージを読む方法を教えてください。 documentation結果から

{ 
    "multicast_id": 9000754561212282225, 
    "success": 625, 
    "failure": 375, 
    "canonical_ids": 0, 
    "results": [ 
    { 
     "error": "NotRegistered" 
    }, 
    { 
     "message_id": "0:1463996561713000%2b8e613cf9fd7ecd" 
    }, 
    { 
     "message_id": "0:1463996561711827%2b8e613cf9fd7ecd" 
    }, 
    { 
     "message_id": "0:1463996561712955%2b8e613cf9fd7ecd" 
    }, 
    { 
     "message_id": "0:1463996561713911%2b8e613cf9fd7ecd" 
    }, 
    { 
     "error": "NotRegistered" 
    }, 
........ 
    { 
     "message_id": "0:1463996561713114%2b8e613cf9fd7ecd" 
    }, 
    { 
     "message_id": "0:1463996561889865%2b8e613cf9fd7ecd" 
    } 
    ] 
} 

答えて

1

は、次のとおり処理されたメッセージのステータスを表すオブジェクトの

アレイ。 オブジェクトはリクエストと同じ順序でリストされます(つまり、リクエスト内の各登録IDが の場合、その結果はレスポンスの同じ インデックスにリストされます)。

したがって、message_idでない各項目は失敗したメッセージを表し、対応するトークンは使用しないでください。ケースでは0とマークします。

+0

ご返信ありがとうございます。以下の文字列 "message_id"を読み込む方法は "0:1463996561713114%2b8e613cf9fd7ecd"です。リターン文字列と登録IDとの間には何らかの関係がありますか? –

+0

はい、関係があります。 registration_idsを使用すると、応答は送信された順序と同じです。したがって、 "message_id": "0:1463996561713114%2b8e613cf9fd7ecd"が応答の3番目の項目であれば、リクエストの3番目の登録IDに対応します。 –

関連する問題