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.
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
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. –