2016-05-02 8 views
0

Ich benutze Quick blox und ich heruntergeladen Sample App (https://github.com/QuickBlox/quickblox-ios-sdk/tree/master/sample-chat), die QMChatViewController, QMServices verwendet.Wie aktualisiere ich den Status der Nachricht in ChatList mit Quick-Blox-Beispiel?

I MessageStatusStringBuilder Klassenmethoden in ChatViewController bin mit dem Status zu erhalten (lesen/geliefert/gesendet) der Meldung (hier Diese Nachricht ist kein String es eine Instanz von QBChatMessage ist) in ChatViewController, so dass ich die Meldung bin zeigt Status wann immer QMChatServiceDelegate Anrufe zurückgerufen wurden.

Ich habe eine Anforderung, den Status (lesen/geliefert/gesendet) der letzten Nachricht in DialogsViewController unter jedem Dialogfeld auch anzuzeigen. Aber in DialogsViewController lastTextMessage ist eine Zeichenfolge, aber keine QBChatMessage Instanz.

Wie aktualisiert man diesen Nachrichtenstatus?

Ein Pluspunkt ist, ich werde Rückrufe von diesem QMChatServiceDelegate in DialogsViewController auch bekommen, auch ich kann den Status der Nachricht von diesem nicht finden.

Wie also damit umgehen?

Antwort

0

Zuerst sollten Sie die Nachricht mit der erweiterten Anfrage unter Verwendung date_send als Schlüssel und Dialog lastMessageDate als Wert erhalten. Dann können Sie mit der Instanz der Klasse MessageStatusStringBuilder den Status der letzten Nachricht abrufen.

QBChatDialog *dialog = ... // your dialog 

QBResponsePage *resPage = [QBResponsePage responsePageWithLimit:1 skip:0]; 

NSMutableDictionary *extendedRequest = @{@"date_sent" : [NSString stringWithFormat:@"%tu", (NSUInteger)[dialog.lastMessageDate timeIntervalSince1970]]}.mutableCopy; 

[QBRequest messagesWithDialogID:dialog.ID extendedRequest:extendedRequest forPage:resPage successBlock:^(QBResponse *response, NSArray *messages, QBResponsePage *responcePage) { 

           NSLog(@"status = %@",[self.stringBuilder statusFromMessage:[messages firstObject]]); 

    } errorBlock:^(QBResponse *response) { 

           NSLog(@"error: %@", response.error); 

    }]; 
+0

Vielen Dank Herr. Es hat für mich funktioniert. Super Lösung. Ich mochte die Art, wie Quick Blox implementiert wird, aber ich muss viele Dinge in dieser Sache wissen. Ich implementiere eine große Anwendung mit diesem Quick Blox. Wenn ich also irgendwelche Zweifel hege, könntest du mich unterstützen, Sir? –

+0

Sir Ich habe eine Anforderung, ich möchte Profilbild für jeden schnellen blox Benutzer hochladen und von dort sollte es zu anderen Benutzer angezeigt werden, der einen Chat-Dialog mit dem ersten Benutzer erstellen möchte, sah ich Beispiel-Inhalt Beispiel zur Verfügung gestellt. Aber hier ist mein Szenario anders Also könntest du mir bitte helfen –

+0

In Beispielen laden sie eine Datei mit Inhaltstyp hoch oder aktualisieren existierende Datei. Aber wie können andere Benutzer darauf zugreifen, um Bilder anzuzeigen? und auch wenn wir die Öffentlichkeit mit "Ja" versorgen. Wie andere Benutzer die tatsächlichen Benutzer sehen können. Und wie muss der aktuelle Nutzer das Bild hochladen und wo? so viel Verwirrung Herr bitte helfen Sie mir –