2012-03-28 11 views
0

Ich habe mit de C2DM für einige Zeit gearbeitet und es funktioniert perfekt. Vor kurzem bin ich auf ein Problem gestoßen, das ich anscheinend nicht reparieren kann und nichts in diesem Forum, das helfen könnte. Das Problem ist, dass ich mehrere Apps habe, die C2DM verwenden, ich habe alle Apps mit derselben Absender-ID registrieren lassen, die dann das Benutzer-Token in meiner Datenbank registriert. Das Problem, wenn ein Benutzer hat zwei meiner Apps A & B (gleiche Absender-ID) und startet App A und ich eine Push-Benachrichtigung an Benutzer mit App B senden, Benutzer, der App A gestartet die letzte wird eine Nachricht erhalten, die eigentlich vorgesehen war App B.Android C2DM Sender ID

Meine Frage gibt es eine Möglichkeit, die gleiche Absender-ID für alle Apps auf einem Gerät installiert zu verwenden?

Antwort

1

Nein. Eine C2DM-Registrierungs-ID ist auf eine App auf einem Gerät beschränkt. Wenn eine C2DM-Nachricht an eine Registrierungs-ID gesendet wird, wird sie nur an eine App gesendet. Sie sollten von Anfang an unterschiedliche C2DM-Konten verwendet haben, sodass jede App über eine eigene Registrierungs-ID verfügt. Registrierungs-IDs sind nicht pro Gerät, sie sind pro App pro Gerät.

Wenn Sie die Registrierungs-IDs nicht neu konfigurieren können, können Sie einen Empfänger verwenden, der dann eine Broadcast-Absicht sendet, und beide Apps können sie aufnehmen, indem sie auf diese Übertragung reagieren. Ich erwarte, dass Sie beide Apps zum Anhören und Wiederhören benötigen, aber es sollte funktionieren. Ich rate Ihnen, Ihre C2DM-Nutzung neu zu konfigurieren, da Ihre aktuelle Konfiguration nicht ideal ist und ich erwarte, dass das Problem nur noch schlimmer wird.

Ich nehme an, wenn Sie "Absender-ID" sagen, meinen Sie Registrierungs-ID.

+0

Danke Ollie C, ja ich meine Registrierungs-ID (Google nennt es Absender-ID). Nun, ich dachte, dass es keinen anderen Weg gibt, als jeder App eine eigene Registrierungs-ID zuzuweisen. Ich habe die Apps ja noch nicht bereitgestellt, testet sie noch. Dies führt zu dem Problem, dass ich für jede App ein Google-Konto erstellen müsste. Das andere Problem ist, dass jede Anwendung zu einem Client gehört. In diesem Fall könnte der Kunde Kontoinformationen bereitstellen, aber die Sache, die mich stört, ist, dass ich den Kunden auffordern muss, sein Passwort ebenfalls anzugeben. – Bami

+0

Verwechseln Sie die Registrierungs-ID nicht mit der Absender-ID. Es ist vollkommen richtig, dass alle Ihre Apps dieselbe Absender-ID verwenden, aber wie Ollie C sagte, ist jede Registrierungs-ID einer App auf einem Gerät zugeordnet. – gnuf