2017-12-17 1 views
-1

Ich entwickle eine Messaging-Anwendung für iOS, wo ich die übermittelte Nachricht anzeigen und vom Benutzerstatus in der App lesen möchte. das gleiche ist wie whatsapp. Die App zeigt ein Häkchen, wenn sie an den Server gesendet wird, und zwei Häkchen, wenn die Nachricht vom Server an das Ziel gesendet wird.So implementieren Sie Nachrichtenübermittlungsbenachrichtigung iOS-Übermittlungsbestätigung

Wie überrascht war ich diese Anwendung: didReceiveRemoteNotification wird nicht aufgerufen, wenn App nicht aktiv ist!

Ist es wirklich unmöglich, die Nachrichtenübermittlung ohne Benutzerinteraktion zu verfolgen, wenn die App nicht aktiv ist? Andere haben vorgeschlagen, das Protokoll der Nachrichten auf dem Server zu speichern und sie beim Öffnen der App zu senden, aber dies erfordert weiterhin eine Benutzerinteraktion.

Antwort

0

Verwenden Sie eine Aufzählung für den Nachrichtenstatus. Enum msg_status { Fall gesendet, Fall erhalten, Fall gesehen}

Um die Erreichbarkeitsstatus Nachricht erhalten Sie Ihre Sever Antwort verwenden können. Wenn die Nachricht erfolgreich gesendet wurde, ein Häkchen anzeigen. Setzen Sie Ihre Statusvariable auf .ent

Um zwei Ticks zu erhalten, verwenden Sie Benachrichtigung Erfolg Antwort. Wenn die Benachrichtigung erfolgreich von Ihrem Server zugestellt wurde, setzen Sie die Statusvariable auf .erhalten.

Um blaue Ticks zu erhalten, die WhatsApp ähnlich sind, verwenden Sie eine Funktion wie msg_seen (userId: Int). Rufen Sie die Funktion der Methode viewDidAppear() Ihrer Message ViewController auf und aktualisieren Sie im Text der Methode msg_seen() den Status auf .seen