有沒有辦法查看設備是否對GCM服務器空閒?Android設備在delay_while_idle設置爲true時未收到消息
有沒有辦法使用delay_while_idle而不使用collapse_key?
當我在php中這樣設置我的消息時,它確實有效。
$headers = array("Content-Type:" . "application/json", "Authorization:" . "key=" . $key);
$data = array(
'registration_ids' => $deviceRegistrationIds,
'data' => array('message' => $messageText,
'msgfromname' => $fromname,
'close' => $close,
'newchat' => $newchat,
'msgfrom' => $from)
);
當我使用這樣的delay_while_idle它不起作用。
$headers = array("Content-Type:" . "application/json", "Authorization:" . "key=" . $key);
$data = array(
'registration_ids' => $deviceRegistrationIds,
'collapse_key' => $messageText,
'delay_while_idle' => true,
'data' => array('message' => $messageText,
'msgfromname' => $fromname,
'close' => $close,
'newchat' => $newchat,
'msgfrom' => $from)
);
我想這是因爲$ messageText與數據數組中的東西有相同的值?當我將它的值更改爲'hello'時,它確實有效。
謝謝您的回答。我正在用GCM寫一個聊天應用程序。所以不應該有一個collapse_key,因爲我發送聊天消息。當使用1而不是true時,所有消息均失敗。 – Klaasvaak
現在使用隨機數爲collapse_key。它似乎工作。 – Klaasvaak
也許最好不要使用隨機數字,如果數字相同,可能會導致消息有時會消失。可能只是對用戶做一些反制。然而,對於聊天客戶端來說,在閒置時延遲可能並不適合,因爲我希望當我的手機閒置時傳遞消息。 –