如何在GCM中使用折叠键

时间:2013-08-04 11:16:37

标签: php push-notification google-cloud-messaging

我正在从PHP向Android设备发送推送通知。 除了不希望消息崩溃之外,一切正常。 这是我的代码

   $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 ),
                           );

但仍然没有运气

2 个答案:

答案 0 :(得分:0)

您可能在Android设备上使用相同的notificationId。 它会产生折叠键的效果。

折叠键仅用于从gcm到设备的延迟和连接问题,当再次连接设备时,gcm将仅发送服务器接收的最后一个折叠键。如果设备已连接,即使它们具有相同的折叠键,您也会收到几次推送(考虑到下一个折叠键是在设备收到旧的时发送的)。

如果你想做像崩溃一样的whatsapp,你还必须在你自己的设备上管理它们,万一设备将保持连接到gcm并将接收这些消息(正如我所说gcm不能拉回推动你已经显示在客户端设备IE上相同的折叠键),所以现在你将使用与该通知相同的notificationId。

底线 - 通知ID是(!)设备的“折叠键”。 你必须保存它们,以便知道何时删除旧通知以及何时显示新通知。

答案 1 :(得分:0)

This详尽地使用了可折叠邮件。看看。