Senden Sie GCM-Nachricht an bestimmten Benutzer

8

In meiner Anwendung möchte ich eine Benachrichtigung an einen bestimmten Benutzer senden, unabhängig vom Gerät. Der Benutzer kann sich von jedem Gerät aus bei der Anwendung anmelden.

Dies ist das erste Mal, dass ich GCM verwende. Ich lese das Dokument, das besagt, dass, wenn das Gerät beim GCM-Server registriert ist, das Gerät diese eindeutige ID an den Server sendet und dann diesen Wert für das Senden von Nachrichten speichert.

Wie wird dann eine Benachrichtigung an einen bestimmten Benutzer gesendet, wenn er sich von verschiedenen Geräten aus bei der Anwendung anmeldet?

    
Sunny 27.05.2013, 11:36
quelle

1 Antwort

6

Diese eindeutige ID (auch Registrierungs-ID genannt) ist bei einer App / einem Gerät einzigartig. Wenn sich dieser Benutzer bei GCM-Diensten auf einem anderen Gerät anmeldet, generiert er eine andere Registrierungs-ID.

  

Eine ID, die von den GCM-Servern an die Android-Anwendung ausgegeben wird, die den Empfang von Nachrichten ermöglicht. Sobald die Android-Anwendung die Registrierungs-ID hat, sendet sie sie an den Anwendungsserver des Drittanbieters, der jedes Gerät identifiziert, das sich für den Empfang von Nachrichten für eine bestimmte Android-Anwendung registriert hat. Mit anderen Worten, eine Registrierungs-ID ist an eine bestimmte Android-Anwendung gebunden, die auf einem bestimmten Gerät ausgeführt wird.

Wenn Sie log sagen, denken Sie, dass Sie sich auf Ihren Server beziehen, richtig?

Ich frage, weil GCM-Dienste ein Google-Konto erfordern, wenn Ihre App auf 4 API-Versionen abzielt.

  

Auf Geräten mit Android 4.0.4 oder höher ist kein Google-Konto erforderlich.

Wenn GCM ein Google-Konto auf dem Gerät erkennt, kann es auf den Dienst zugreifen. Wenn GCM das Konto nicht erkennt, wird ein ACCOUNT_MISSING-Fehler zurückgegeben.

Es kann also passieren, dass Sie die GCM-Dienste mit einem Google-Konto aufrufen, das Ihnen nicht gehört, wenn Sie ein anderes Gerät verwenden, das zuvor bei einem Google-Konto registriert war.

Aber wenn das wichtige Konto von Ihrem Server verwaltet wird, dann ist es nicht wirklich wichtig.

Aktualisiert:

Sie müssen die Benachrichtigung an alle Registrierungs-IDs senden, die zu dem Benutzer gehören, der mit Ihrem Server verbunden ist. Sie können nicht wissen, welches Gerät der Benutzer gerade verwendet, wenn Sie mehrere auf Ihrem Server warten.

Sie können Multicast verwenden

Referenz: GCM

    
AlexBcn 28.05.2013, 08:28
quelle