2013-08-04 51 views
1

我正在向PHP設備發送PHP推送通知。 一切工作正常,除了我不想要消息崩潰。 這裏是我的代碼如何在GCM中使用摺疊鍵

$random_collapse = rand(11, 100); 
    $fields   = array(
          'registration_ids' => $receivers, 
          'data'    => array("message" => $message), 
          'collapse_key'  => "{$random_collapse}", 
          "time_to_live"  => 25000 
          ); 

請建議。

編輯

我已經使用這個也

$fields   = array(
          'registration_ids' => $receivers, 
          'data'    => array("message" => $message), 
          ); 

但仍沒有運氣

+0

你如何確定他們是否崩潰?你的應用如何處理來自GCM的消息?如果您使用相同的「NOTIFICATION_ID」,設備可能會摺疊這些消息。 – ggmathur

回答

0

你可能使用相同的notificationId您的Android設備上。 它會產生摺疊鍵的效果。

摺疊鍵僅用於從gcm到設備的延遲和連接問題,當設備再次連接時,gcm將僅發送服務器接收的最後一個摺疊鍵。如果設備已連接,即使它們具有相同的摺疊鍵,也會收到幾次推送(考慮到設備接收到舊摺疊鍵時發送下一個摺疊鍵)。

如果你想做一個像崩潰一樣的whatsapp,你也必須在你自己的設備上管理它們,以防設備仍然連接到gcm並且會收到這些消息(正如我所說的gcm不能退回已經推動你在客戶端設備上顯示的IE相同的摺疊鍵),所以現在您將使用與該通知相同的notificationId。

底線 - 通知ID是您的(!)設備的「合攏鍵」。 您必須保存它們中的一對,以瞭解何時刪除舊通知以及何時顯示新通知。

0

This給出了可摺疊消息的詳盡使用。看一看。