2017-03-21 6 views
0

Also, ich habe eine App im Laden, ich habe es auf meinem Handy heruntergeladen und erhielt Push-Token für dieses Gerät. Ich habe das Senden von Silent Push-Benachrichtigungen getestet und tatsächlich funktioniert es, mein Gerät hat es empfangen.iOS Push-Token noch gültig nach dem Löschen eines iPhone

Ich wollte überprüfen, was ist die Zeit, nachdem Push-Token ungültig wird. Ich erste, was getan wurde einfach eine App deinstalliert und wurde Aufmerksamkeit, nach welcher Zeit ich beginnen {"reason":"Unregistered","timestamp:1234567890} meiner curl Anfrage bekommen, die wie folgt aussieht:

curl -d '{"aps":{"content-available":"1"}}' --cert "/Users/uerceg/Desktop/ProductionCertForMyAppsPush.pem":"password" -H "apns-topic:com.my.app" --http2 https://api.push.apple.com/3/device/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 

Sobald ich eine App von meinem Gerät deinstalliert haben, es variiert in der Regel Von Fall zu Fall (Ich denke, Feedback Service hat eine Art Token-Refresh-Logik, die mir nicht wirklich bewusst ist, und ich habe auch keine Dokumentation darüber gefunden), aber es dauert 3-12 Minuten, bis ich Informationen über meine App erhalte deinstalliert. Schön.

Danach wollte ich noch einen weiteren Fall testen - indem ich Erase All Content and Settings auswählte und alles komplett von meinem iPhone löschte, ohne danach ein Backup zu erstellen.

Sobald ich das gemacht habe, wird App auch entfernt. Aber curl Anforderung gibt immer Status 200 zurück. Ich habe 5 Tage gewartet und nach 5 Tagen gibt es immer noch 200 zurück, als ob App installiert ist, aber meine Vermutung ist, dass es nicht sollte. Nachdem ich alles gelöscht habe, habe ich meine App neu installiert und ein neues Push-Token bekommen, mit dem ich erfolgreich wieder stille Push-Benachrichtigungen senden kann.

Sicher, wenn ich Mechanismus, um zu identifizieren, dass dieses bestimmte Gerät eine App neu installiert habe, kann ich das Token auf der Backend-Seite nicht mehr an dieses Gerät senden, aber meine Frage bleibt immer noch: Warum ist Apple nicht das Token für den Fall ungültig machen, dass ich meine App gelöscht habe, indem ich mein iPhone gelöscht und zurückgesetzt habe?

Vielleicht ist dies erwartet Verhalten und meine Frage macht keinen Sinn, aber wenn es Verhalten erwartet wird, können Sie mich bitte auf einige Dokumentation verweisen, die dies erklärt?

Vielen Dank im Voraus.

Antwort

1

Wahrscheinlich aus dem gleichen Grund, dass, wenn Sie eine Sicherungskopie Ihres Telefons erstellen und aus der Sicherung wiederherstellen, vorhandene Push-Tasten weiterhin funktionieren. Wenn Sie den Schlüssel auf einem Gerät, das gelöscht wird, ungültig machen, wird das Potenzial, dass derselbe Schlüssel aus einer Sicherung verwendet werden könnte, aufgehoben.

+0

Guter Punkt, aber war irgendwie denken, dass Apple in der Lage ist, Token von tatsächlich gesicherten Apps zu markieren und sie nicht nur ungültig zu machen. – uerceg

+0

Wenn die Sicherung auf einem Computer ohne Internetverbindung erfolgt, hätte Apple keine Möglichkeit zu wissen, ob die Sicherung vorhanden ist. Stellen Sie ein Telefon aus dieser Sicherung wieder her, und die Push-Tokens sind weiterhin gültig. –

Verwandte Themen