2016-05-23 69 views
0

我的應用程序正在發送推送成功。以下是詳細信息。我爲設備標記ID和狀態字段維護一個數據庫表。 現在查找失敗標識以在表中設置狀態0。所以下次我只能獲取狀態1 ID。如何從gcm服務器響應更新數據庫表

請幫助我如何閱讀下面的消息爲上述目的。

{ 
    "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

documentation結果是:

表示處理的消息的狀態的對象數組。 對象以與請求相同的順序列出(即請求中的每個註冊ID爲 ,其結果在響應中列在相同的 索引中)。

因此,每個不是message_id的項目都表示失敗的消息,因此不應使用相應的標記,在您的情況下標記爲0。

+0

感謝您的回覆。是他們讀取下面的返回字符串「message_id」的任何方式:「0:1463996561713114%2b8e613cf9fd7ecd」。我的意思是返回字符串和註冊ID之間有任何關係? –

+0

是的,有一種關係。當您使用registration_ids時,回覆的順序與提交的順序相同。因此,如果「message_id」:「0:1463996561713114%2b8e613cf9fd7ecd」是響應中的第3項,則它對應於請求中的第3個註冊ID。 –

相關問題