2012-03-26 17 views
1

Ich muss eine Push-Benachrichtigung an alle Benutzer meiner App senden. Ich verstehe, dass ich eine URI benötige, die ich von jedem Benutzer empfange, um sie die Nachricht zurück zu senden.Senden Push-Benachrichtigung Nachricht an alle Benutzer meiner App (Windows Phone)

Ich muss das ChannelUriUpdated-Ereignis registrieren und den URI an meinen Server senden. In meinem Server sollte ich diese Daten in einer Datenbank speichern und die Liste der URIs verwenden, um die Nachricht zu senden.

Ich bin mir nicht sicher, ob das die perfekte Methode ist, das zu tun. Aber wenn ja, wie würde ich wissen, ob der URI eines bestimmten Geräts von meinem Server aktualisiert wird? Ich möchte nicht mehrere URIs in meiner Datenbank für jedes Gerät speichern.

Sollte ich auch die GUID des Geräts mit der eindeutigen URI senden?

Antwort

0

Wenn ein Push-URI von MPNS zurückgegeben wird, identifiziert er eine eindeutige "App im Gerät", d. H. Jede App, die auf einem Gerät installiert ist, das Push-Benachrichtigungen anfordert, erhält einen anderen URI.

Jetzt bin ich nicht verantwortlich für die WP7-App, nur den Web-Service-Teil, aber ich denke, die App muss den URI jedes Mal neu validieren, wenn er gestartet wird. In diesem Fall sollten Sie den URI, den Sie zuvor gespeichert haben, aktualisieren und deshalb sollten Sie die Geräte-ID speichern, damit Sie den vorherigen Kanal verfolgen und aktualisieren können.

Aufmerksamkeit auch auf Antwortcodes, denn es gibt Situationen, in denen Sie neue Benachrichtigungen zu senden aufhören müssen, wie hier beschrieben:

http://msdn.microsoft.com/en-us/library/ff941100(v=vs.92).aspx

0

Wenn Uri des Geräts aktualisiert wird, sollten Sie alte Uri auf dem Server auf den neuen ersetzen. Also ein Gerät - ein Uri.

Wenn Sie Benachrichtigungen an alle Benutzer senden müssen, ohne sich zu identifizieren, und diese Anforderung wird sich in Zukunft nicht ändern - GUIDs nicht speichern. Senden Sie einfach Benachrichtigungen an gespeicherte Uri und das ist alles.

+0

Aber in diesem Fall werde ich nicht verwendeten URI in der Datenbank halten zu speichern. Ich habe versucht, das Telefon auszuschalten und wieder einzuschalten. Ich habe eine andere URI bekommen. – Ateik

+0

Oh, ja. Ich habe den ersten Teil einer Frage vergessen. Also, du hast deine Frage beantwortet - du musst das Telefon 'GUID' senden, um den alten Benutzer' Uri' in der Datenbank zu finden und es entsprechend zu aktualisieren – Ku6opr

+0

Danke. also sehe ich, dass es keinen anderen Weg gibt, das zu tun. – Ateik

0

Sollte ich auch die GUID des Geräts mit der eindeutigen URI senden?

Das ist Were sind Sie unklar: Sie eine Beziehung zwischen GUIDs one-to-many bekam die sind einzigartig per Telefon und URIs, die es nicht sind.

Sie sollten die GUIDs als Primärschlüssel in Ihrer Datenbank und URIs als Spalte speichern. Wenn Sie einen neuen Schlüssel eingeben, überprüfen Sie, ob die angegebene GUID bereits existiert. In diesem Fall geben Sie UPDATE statt INSERT ein.

Verwandte Themen