使用GCM和相应的聊天活动推送通知

时间:2016-01-06 16:33:11

标签: android google-cloud-messaging

我已经在我的应用程序中实现了GCM,并且我通过两个Android设备进行了测试,并且它可以工作。我正在我的应用中实现一个简单的聊天应用程序。我的应用实际上是在销售或购买产品。

当用户想要出价时,他键入他的消息并将其发送到服务器并激活gcm并且卖家接收潜在客户的消息。当卖家点击收到的推送通知消息时,应该将他带到聊天活动。通过这条简单的短信,我如何知道哪个相应的产品?

2 个答案:

答案 0 :(得分:4)

我在评论中提到过,如果您通过服务器发送,则可以执行此操作:

$registatoin_ids = array($regId);
$message = array("message" => $message, "productId" => $uniqueProductId);

$result = $gcm->send_notification($registatoin_ids, $message);
echo $result;

然后在你的意图服务中:

Bundle extras = intent.getExtras();
GoogleCloudMessaging gcm = GoogleCloudMessaging.getInstance(this);

String messageType = gcm.getMessageType(intent);
String message = extras.getString("message");
String productId = extras.getString("productId");

当你去构建通知时:

Intent productWindow = new Intent(this, ProductActivity.class);
productWindow.putExtra("productId", productId);
PendingIntent contentIntent = PendingIntent.getActivity(this,0,productWindow , 0);

答案 1 :(得分:1)

您可以以特定方式格式化GCM消息,因此消息开销将以您知道的格式发送,然后您可以解析它并采取任何所需的操作。例如,您可以通过以下方式发送消息:

ProdID:123456,Action:Bid,...

您可以将逗号(或任何其他符号)作为分隔符,获取其中的部分并随意执行任何操作。