Problembeschreibung:
Wir haben einen Dienst, der Anwendungen für die wichtigsten mobilen Betriebssysteme anbietet. Wir verwenden Push-Benachrichtigungen. Wenn sich ein Benutzer anmeldet, speichern wir seine Geräteautorisierungsdaten (z. B. Token) zur späteren Verwendung im Push-Dienst. Das Problem besteht darin, dass wir nur wenige Geräteautorisierungen für einen Benutzer haben und diese auch dann gültig bleiben, wenn der Benutzer die Anwendung deinstalliert.
例
Ich habe mein Login zum System an einige Leute weitergegeben, damit sie es ausprobieren können. Sie meldeten sich über die mobile Anwendung an und das System fügte automatisch einige Geräteberechtigungen in die Datenbank ein (Token). Jetzt haben wir also N Geräte-Tokens für 1 Benutzer. Wenn wir also eine Push-Benachrichtigung senden, werden alle sie erhalten. Nehmen wir nun an, dass diejenigen, die Anwendungen installiert haben, diese deinstallieren möchten. Ohne sich abzumelden, deinstallieren sie die Anwendung über den Anwendungsmanager. Und zu diesem Zeitpunkt haben wir NICHT GÜLTIGE Daten für autorisierte Geräte. Und wenn wir versuchen, sie zu benachrichtigen, wird die Benachrichtigung nirgendwo hingeschickt. Das ist falsch und für den Server nutzlose Arbeit. Wie kann man den Kern wissen lassen, dass einige der gespeicherten Daten nicht mehr gültig sind?
Kurz gesagt - gibt es in Android / iOS eine Möglichkeit, ein Ereignis zum Löschen der Anwendung auszulösen. Wenn die Anwendung gelöscht wird, ruft die Anwendung den Server an, um die Daten im Speicher zu bereinigen. Oder wenn die Anwendung geöffnet ist und der Benutzer es deinstallieren, würde es onDestroy() Trigger gefeuert? Oder etwas anderes?
Ich bin nicht iOS-Entwickler, nicht Android-Entwickler, wissen nur ein wenig über die zweite und nichts von der ersten. Jeder Rat wird geschätzt werden. Vielen Dank im Voraus.