Google Cloud Messaging 上的特殊消息(推送到 Android)
Posted
技术标签:
【中文标题】Google Cloud Messaging 上的特殊消息(推送到 Android)【英文标题】:Special messages on Google Cloud Messaging (PUSH to Android) 【发布时间】:2014-07-27 12:40:53 【问题描述】:我可以通过 PUSH 系统向我的 android 手机发送字符串。
至少在我的 iPhone 上,我注意到有人发送带有图像的 PUSH、带有播放/停止控件 (IIRC) 的 PUSH、带有自定义声音的 PUSH。
如何将此类数据发送到 Android 手机?
我目前的数据:
$fields = array(
'registration_ids' => $registration_ids,
'data' => array( "message" => $message ),
);
$message 是一个字符串。
这是我在手机上使用的插件:
https://github.com/phonegap-build
编辑:
在花了一些时间研究这个之后,我得出一个结论,你只能发送一个字符串或一个数据数组。
并且要在 PUSH 通知上显示图像,您必须发送特定消息,然后使用应用程序拦截该消息,然后继续更改 PUSH 通知视图以显示图像。所以没有内置图像支持或播放/停止按钮吗?我在正确的轨道上吗?
【问题讨论】:
【参考方案1】:你是对的。您通过 GCM 服务器从服务器发送到应用程序的有效负载没有自定义属性。它只是data
数组中包含的键/值对列表,限制为 4K 字节。这还不足以编码图像。
当您在应用中收到此有效负载时,由您决定如何处理它,并且您有责任编写处理该消息的代码。最常见的行为是显示通知,并在点击通知时打开应用程序。有效负载可能包含您可以下载和显示的图像的 URL。
notifications API in Android 有很多选项,并且在新的 Android 版本中不断改进。我相信你可以用它来实现你想要的行为。但它与 GCM 无关。
【讨论】:
以上是关于Google Cloud Messaging 上的特殊消息(推送到 Android)的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Chrome 中实现 Google Cloud Messaging - Topic Messaging?
Google Cloud Messaging VS Google Cloud Platform
GCM(Google Cloud Messaging)推送完全解析
Google Cloud Messaging Bridging Header 导入失败