Ich versuche eine App zu entwickeln, um Push-Benachrichtigungen mit einem Benutzerkonto zu erhalten.IOS7,8,9 früheres Push-Benachrichtigungsverhalten erhalten
(void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
Sobald die Registrierung erfolgreich ist, ist das DeviceToken mit einem Benutzerkonto verknüpft.
Es ist ein Szenario, wenn die userA
Registrierung abgeschlossen ist und deinstalliert die App, die App im Idealfall nicht die Push-Benachrichtigung von APNs erhalten, aber einem anderen userB installiert es ohne Registrierung mit dem gleichen iPhone, das iPhone wird die userA
erhalten ' s Push-Benachrichtigung, da der deviceToken der gleiche wie der vorherige ist.
In der Tat sollte die userB
nicht die userA
Push-Benachrichtigung mit dem gleichen Gerät erhalten. Zum Glück existiert es nur in IOS7,8, aber nicht in iOS9 (iOS9 ist die Push-Berechtigung deaktiviert, bis der Benutzer die Erlaubnis erteilt)
Wie man es löst? Dank
So nach, vorherige Registrierungen werden annulliert, wenn ANY bei der Anmeldung! – djay
@Divjyot ja ist es. – Adarsh
Ich verstehe die 1 & 2-Lösungen von @Adarsh, aber ein weiteres Szenario, sobald das UserB die App nicht startet, dann würde das DeviceToken nicht auf dem Anwendungsserver aktualisieren. Die APNs werden also die BenutzerA-Benachrichtigung an das Gerät des BenutzersB senden. Wenn das UserB die App nicht startet, wie kann ich das deviceToken auf dem Server entfernen? antworten die APNs auf einen Rückruf an den Server, um mich wissen zu lassen, dass die App entfernt/neu installiert wurde? – onebidman