Ich erstelle eine chat-basierte Anwendung auf QuickBlox
Framework, möchte ich eine Blockfunktion in der App haben. Ich lese einige Dokumente wie XMPP und QuickBlox
aus. Aber habe keine Hilfe davon bekommen.Wie blockiere ich einen Benutzer in QuickBlox?
Es gibt einige Logik der Wartung QBPrivacyList
für andere Benutzer nicht zu erlauben, Nachricht zu senden und zu blockieren, aber ich habe nicht damit Erfolg.
Dies ist ein Code-Snippet, wie ich die Datenschutzliste pflege.
die Privatsphäre Liste Setzen Sie sich mit Namen
@"public"
in Methode von Chat[[QBChat instance] retrievePrivacyListWithName:@"public"];
so hat einloggen, wenn dort bereits die Privatsphäre Liste erstellt mit dem Namen
"public"
es in Delegatmethode
holen wird- (void)chatDidReceivePrivacyList:(QBPrivacyList *)privacyList{ NSLog(@"chatDidReceivePrivacyList: %@", privacyList); _blockPrivacyList = privacyList; // Save its instance for further add more users in list }
// Antwort ist
[PrivacyList name: public]items:("type: USER_ID valueForType: 2075213 action: deny"
)Dies ist, wie fügen Sie ein weiteres Mitglied in die Privatsphäre Liste
- (void)blockUserWithQBId:(NSUInteger)qbID { QBPrivacyItem *item = [[QBPrivacyItem alloc] initWithType:USER_ID valueForType:qbID action:DENY]; if (_blockPrivacyList) { [_blockPrivacyList addObject:item]; // add new user if already privacy list is there }else _blockPrivacyList = [[QBPrivacyList alloc] initWithName:@"public" items:@[item]]; // create new privacy list if not before created [[QBChat instance] setPrivacyList:_blockPrivacyList]; }
Und die alle Delegatmethoden funktioniert perfekt erstellt und fügt Mitglied in der Privatsphäre Liste.
- (void)chatDidSetPrivacyListWithName:(NSString *)name{ NSLog(@"chatDidSetPrivacyListWithName %@", name); [[QBChat instance] setDefaultPrivacyListWithName:name]; // set it as default privacy list }
Ich erhalte diese Liste Privatsphäre perfekt auch ich die app töten oder es neu installieren für denselben Benutzer. so Code meine Privatsphäre Liste funktioniert perfekt
Aber einige, wie die anderen Mitglieder in meiner DENY
Privatsphäre Liste kann mir Nachricht senden. Nach den Unterlagen von diesem http://quickblox.com/developers/SimpleSample-chat_users-ios#Contact_list sollte es den Fehler wie
"error:Error Domain=com.quickblox.chat Code=503 "Service not available."
So geben, wenn alle Liste Privatsphäre perfekt funktioniert dann wie kann meine blockierten Usern mir Nachrichten senden können?
ich mit XMPP
in iOS
das gleiche Problem gibt es auch XMPP
verwendet, um sich, wenn Sie XMPP
Logik gearbeitet hatte geben können, die auch als QuickBlox
wie QuickBlox
tatsächlich funktionieren wird.
Irgendwelche Vorschläge?
Danke Haresh, ich habe genau das gesucht, du hast meinen Tag gerettet! :) – Hemang
Hallo Haresh, ich habe mehrere Benutzer in der Liste hinzugefügt und aktualisiert. So entfernen Sie den einzelnen Benutzer aus der Liste und aktualisieren. – Ajay
Wo haben Sie diesen Code hinzugefügt? Ich habe versucht, es nach dem Verbinden zum Chat hinzuzufügen. Aber immer noch nicht funktioniert. Der andere Benutzer empfängt weiterhin Nachrichten. Kannst du mir bitte dabei helfen? –