Ich habe zwei Apps im iTunes Store - beide implementieren Push-Benachrichtigungen. Während ich das Senden von Benachrichtigungen an diese Produktions-Apps testete, bemerkte ich, dass ein für App A bestimmter Push betitelt und App B geöffnet wurde.
Beide Apps sind auf demselben Telefon installiert. Ich habe in meiner Gerätetabelle nachgesehen und festgestellt, dass die für die beiden Apps aufgelisteten Gerätetoken (und natürlich die Geräte-ID) identisch waren.
Bei Bedarf verwende ich zwei verschiedene Zertifikate auf dem Server - eines für jede App. Ich bin davon ausgegangen, dass das Gerätetoken oder -zertifikat die Nachricht an die richtige App weiterleiten würde, aber dies ist eindeutig nicht der Fall.
Ich kann in NSLog sehen, dass die von jeder App gesendeten Token tatsächlich gleich sind.
Sollte das Geräte-Token für jede App eindeutig sein? Wenn ja, eine Idee, wie mein Testtelefon das gleiche Gerätetoken für beide Apps an meinen Server senden könnte. Beachten Sie, dass dies von zwei Apps stammt, die sich derzeit im App Store befinden.
Vielen Dank für jede Hilfe!
iOS 7 geht anders damit um. Es ist jetzt EINZIGARTIG.
Bitte beachten Sie Punkt 1 in diesem Artikel: http://urbanairship.com/blog/2013/10/03/how-ios-7-handles-push-differently
"Vor iOS 7 war das Geräte-Token für alle App-Installationen auf einem bestimmten Gerät gleich. Verschiedene Apps auf Ihrem Telefon, ob Tap Tap Revenge oder USA Today, verwendeten dieselbe Adresse, dh Geräte-Token, um den Push weiterzuleiten Benachrichtigung an Sie: Die Sicherheitsanmeldeinformationen, die Sie mit einer Nachricht koppeln, stellen sicher, dass sie zur richtigen App gelangen. Unter iOS 7 ist Apple noch einen Schritt weiter gegangen und hat sichergestellt, dass Geräte-Token jetzt bei jeder einzelnen App-Installation unterschiedlich sind. Dies hilft Schützen Sie die Privatsphäre der Benutzer weiter, indem Sie eine andere Kennung auf Telefonebene entfernen. "
Siehe auch ios 7-Gerätetoken ist für dasselbe Gerät unterschiedlich
quelle
Teilen Sie mein Verständnis und einige Antworten von Apple-Entwicklern:
quelle
Denken Sie jedoch daran, dass Apple sich das Recht vorbehält, ein APNToken-Gerät nach eigenem Ermessen zu ändern. Verwenden Sie es also nicht, um ein Gerät / einen Benutzer eindeutig zu identifizieren.
quelle
Das Gerätetoken für die Push-Benachrichtigung ist app-spezifisch. Nicht gerätespezifisch. Das heißt, das Gerätetoken ist für mehrere Apps auf demselben Gerät unterschiedlich und eindeutig.
Laut Apfel
Sie können auf das Apple-Dokument hier verweisen. Programmierhandbuch für lokale und Remote-Benachrichtigungen
quelle
Sie können Token nicht als eindeutige Kennung verwenden, sondern alte Token mit save in keygen (Hilfe von iTunes) entfernen, alte Token löschen und neue in Ihre Datenbank einfügen.
quelle