java - 如何通过gcm发送自定义消息并得到其响应?

标签 java android google-cloud-messaging

我想通过 gcm 发送自定义消息,例如带有选项的问题,并从接收者那里获得该问题的答复。 简单来说,我想制作一个投票应用程序,它使用 GCM 服务来提出问题并获得回复。

最佳答案

你查过Sending Upstream Messages吗? ?来自源链接的代码块:

try {
    Bundle data = new Bundle();
    data.putString("my_message", "Hello World");
    data.putString("my_action","SAY_HELLO");
    String id = Integer.toString(msgId.incrementAndGet());
    gcm.send(SENDER_ID + "@gcm.googleapis.com", id, data);
    msg = "Sent message";
}
catch (IOException ex) {
    msg = "Error :" + ex.getMessage();
}

您可以在数据中添加您的投票。此外,您可能想发送您在 RegistrationIntentService.onHandleIntent() 中收到的 GCM token 。然后,服务器可以使用此 token 来唯一地识别您并通过 GCM 直接向您发送消息。

检查Downstream Messaging Via HTTP Post ,您的 JSON 将如下所示。

https://gcm-http.googleapis.com/gcm/send
Content-Type:application/json
Authorization:key=AIzaSyZ-1u...0GBYzPu7Udno5aA

{
    "data": {
        "score": "5x1",
        "time": "15:10"
     },
     "to" : "bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1..."
}

其中“to”包含设备的 token 。

关于java - 如何通过gcm发送自定义消息并得到其响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39263146/

相关文章:

java - 在eclipse中启动Jboss时如何运行批处理作业?

java - 是否可以用 javassist 代理或替换静态方法

java - startActivityForResult() 之后检索联系人姓名和电话

android - ListView 中的自定义过滤 ArrayAdapter

android - Android 推送通知使用 GCM 是否免费

java - `Rectangle2D.Double` 如何知道它应该在对 `JOptionPane` 的调用中显示在 `paintIcon()` 内?

java - 编写代码显示 3,7,16,35 系列的前 50 个数字

java - RingtoneManager.setActualDefaultRingtoneUri() 在 API 23 中工作吗?

安卓 : Getting NoClassDefFoundError for AndroidUtils

android - Google Cloud Messaging 客户端的 BroadcastReceiver 或 GCMBroadcastReceiver?