任何人都可以知道如何从一个设备向多个设备发送推送通知。我创建示例应用程序。注册推送通知并通过使用代码获取令牌。我编写用于发送推送通知的php代码我在我的设备上收到通知。但是如何将推送通知从设备发送到另一个多设备。
答案 0 :(得分:1)
是的,可能。
服务器必须实施。
从服务器获取所有设备注册ID,然后向所有设备发送推送通知。
regID 是设备GCM注册密钥
使用循环并更改 regID 。希望它可以帮助你...
对于普通数据:
client = new DefaultHttpClient();
httpPost = new HttpPost(SEND_URL);
httpPost.setHeader("Authorization", "key=" + KEY);
httpPost.setHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8");
nvPair = new ArrayList<NameValuePair>();
nvPair.add(new BasicNameValuePair("registration_id", regID));
nvPair.add(new BasicNameValuePair("data1", "Push Notifications"));
nvPair.add(new BasicNameValuePair("data2", "testting from another device"));
httpPost.setEntity(new UrlEncodedFormEntity(nvPair));
res = client.execute(httpPost, new BasicResponseHandler());
对于Json数据:
client = new DefaultHttpClient();
httpPost = new HttpPost(SEND_URL);
httpPost.setHeader("Authorization", "key=" + KEY);
httpPost.setHeader("Content-Type", "application/json");
obj = new JSONObject();
obj.put("to", regID);
innerObj = new JSONObject();
innerObj.put("title", "Push Notification Title");
innerObj.put("text", "Message");
obj.put("notification", innerObj);
httpPost.setEntity(new StringEntity(obj.toString()));
Log.e("input", obj.toString() + " >>>end");
res = client.execute(httpPost, new BasicResponseHandler());
答案 1 :(得分:0)
不可以,无法从一个设备向另一个(或多个)设备发送推送通知(GCM消息)。您应该将应用程序服务器用作中继。
Device1&gt; App Server&gt;设备2 /设备3 / Device4 ...
您应不包含用于在Android应用中发送FCM消息的服务器API密钥。该密钥应该是秘密的,如果从您的APK中提取,任何人都可以向您的应用程序发送消息。