8 Stimmen

Wie kann man die Deinstallation einer Anwendung auf dem Gerät abfangen und den Server darüber informieren (iOS/Android)

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.

4voto

CommonsWare Punkte 950864

Ich kann nicht für iOS sprechen. Sie können nicht kontrollieren, wann Ihre Anwendung unter Android deinstalliert wird.

2voto

Jens Punkte 16639

Das hängt davon ab, welchen Push-Dienst Sie verwenden. Afaik, wenn Sie verwenden C2DM Wenn Sie die Anwendung deinstallieren, wird sie automatisch von C2DM abgemeldet.

Edit :

Oh, und über iOS - afaik tut es nicht direkt deinstallierte Anwendungen zu verfolgen, es wird jedoch eine Fehlermeldung angezeigt Rückmeldung Dienst, der nach einer Reihe von fehlgeschlagenen Benachrichtigungen (gemeldet von der Gerät zum Push-Netzwerk) benachrichtigt Sie - so können Sie nach einer deinstallierten App aufräumen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X