使用 GCM 推送通知和相应的聊天 Activity
Push notification with GCM and corresponding Chat Activity
我已经在我的应用程序中实现了 GCM,并且我已经通过两个 android 设备进行了测试并且它可以工作。我正在我的应用程序中实现一个简单的聊天应用程序。我的应用程序实际上是在销售或购买产品。
当用户想要出价时,他输入消息并将其发送到服务器,gcm 被激活,卖家收到潜在客户的消息。当卖家点击收到的推送通知消息时,应该将他带到聊天 activity。通过这条简单的短信,我怎么知道对应的是哪个产品?
您可以以特定方式格式化您的 GCM 消息,因此消息开销以您知道的格式发送,然后您可以解析它并采取任何需要的操作。例如,您可以这样发送消息:
ProdID:123456,Action:Bid,...
您可以将逗号(或任何其他符号)作为分隔符,获取它的各个部分并随意使用它们。
我在评论中提到的,如果您通过服务器发送,您可以这样做:
$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);
我已经在我的应用程序中实现了 GCM,并且我已经通过两个 android 设备进行了测试并且它可以工作。我正在我的应用程序中实现一个简单的聊天应用程序。我的应用程序实际上是在销售或购买产品。
当用户想要出价时,他输入消息并将其发送到服务器,gcm 被激活,卖家收到潜在客户的消息。当卖家点击收到的推送通知消息时,应该将他带到聊天 activity。通过这条简单的短信,我怎么知道对应的是哪个产品?
您可以以特定方式格式化您的 GCM 消息,因此消息开销以您知道的格式发送,然后您可以解析它并采取任何需要的操作。例如,您可以这样发送消息:
ProdID:123456,Action:Bid,...
您可以将逗号(或任何其他符号)作为分隔符,获取它的各个部分并随意使用它们。
我在评论中提到的,如果您通过服务器发送,您可以这样做:
$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);