2016-07-13 7 views
-1

kann jeder wissen, wie Push-Benachrichtigungen von einem Gerät an mehrere Geräte gesendet werden. Ich erstelle Beispielanwendung. Registrieren Sie sich für Push-Benachrichtigungen und erhalten Sie das Token mit Code.Ich schreibe PHP-Code zum Senden Push-Benachrichtigung Ich habe Benachrichtigung auf meinem Gerät.aber wie Sie die Push-Benachrichtigung vom Gerät an ein anderes Gerät senden.Wie Push-Benachrichtigung von einem Gerät an ein anderes Gerät in Android senden?

+4

Nicht möglich. Sie müssen es über Ihren Server verwalten –

Antwort

1

Ja ist es möglich.

Server muss zwingend implementiert werden.

Fetch Alle Geräte Registrierungs-IDs von Server dann senden Push-Benachrichtigungen an alle Geräte.

REGID Gerät GCM Registrierungsschlüssel

Verwenden Schleife ist und REGID ändern. Hoffe, dass seine hilft Ihnen ...

Für Plain Daten:

  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()); 

Für Json Daten:

  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()); 
+0

bitte, können Sie richtig erklären, ich werde nicht bekommen. – GParekar

+0

Nach der erfolgreichen Registrierung des Geräts in GCM erhält jedes Gerät REGISTRATION_ID, REGISTRATION_ID und der Benutzername wird an den Server gesendet, um db zu speichern. Mit diesen Registrierungs-IDs wird die Push-Benachrichtigung vom Server an GCM Server gesendet. Dann wird der GCM-Server eine Push-Benachrichtigung an das Gerät senden. Sein Push-Notification-Flow ... –

+0

Server haben alle Geräte REGISTRATION_IDs bekommen diese IDs und verwenden Sie meinen Code. Dann wird anstelle des Servers Ihr Gerät eine Benachrichtigung an den GCM-Server gesendet, dann sendet der GCM-Server Benachrichtigungen an die Geräte. –

0

Nein, es ist nicht möglich, eine Push-Benachrichtigung (GCM Nachricht) von einem schicken Gerät zu einem anderen (oder mehreren) Gerät. Sie sollten Ihren Anwendungsserver als Relay verwenden.

Device1> App Server> Device2/Gerät3/device4 ...

Sie sollte nicht gehört der Server-API-Schlüssel verwendet FCM-Nachrichten in Ihrem Android-App zu senden. Dieser Schlüssel sollte geheim sein. Wenn er aus Ihrem APK extrahiert wird, kann jeder Benutzer Nachrichten an Ihre Anwendung senden.

Verwandte Themen