【问题标题】:How to use collapse key in GCM如何在 GCM 中使用折叠键
【发布时间】:2013-08-04 11:16:37
【问题描述】:

我正在从 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 ),
                           );

但还是没有运气

【问题讨论】:

  • 你如何确定它们是否被折叠?您的应用如何处理来自 GCM 的消息?如果您使用相同的NOTIFICATION_ID,设备可能会折叠消息。

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


【解决方案1】:

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

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

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

底线 - 通知 ID 是您(!)设备的“折叠键”。 您必须保存这对通知才能知道何时删除旧通知以及何时显示新通知。

【讨论】:

    【解决方案2】:

    This 详尽地使用了可折叠消息。看看吧。

    【讨论】:

      猜你喜欢
      • 2018-10-21
      • 2015-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-15
      • 2022-01-03
      • 2022-01-11
      相关资源
      最近更新 更多