gpt4 book ai didi

ios - 如何在 QuickBlox 中阻止用户?

转载 作者:可可西里 更新时间:2023-11-01 03:55:52 25 4
gpt4 key购买 nike

我正在 QuickBlox 框架上创建一个基于聊天的应用程序,我想在应用程序中有一个 block 功能。我读出了一些文档,例如 XMPP 和 QuickBlox。但没有得到任何帮助。

有一些维护 QBPrivacyList 的逻辑,不允许其他用户发送消息并阻止它,但我没有成功。

这是我如何维护隐私列表的代码片段。

  1. 在聊天登录的方法中获取名称为@"public"的隐私列表

    [[QBChat instance] retrievePrivacyListWithName:@"public"];

    所以如果已经创建了名为 "public" 的隐私列表,将在委托(delegate)方法中获取它

      - (void)chatDidReceivePrivacyList:(QBPrivacyList *)privacyList{
    NSLog(@"chatDidReceivePrivacyList: %@", privacyList);
    _blockPrivacyList = privacyList; // Save its instance for further add more users in list
    }

    //响应是

    [PrivacyList name: public]items:("type: USER_ID valueForType: 2075213 action: deny")

  2. 这是在隐私列表中添加另一个成员的方法

    - (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];

    }

    所有委托(delegate)方法都能完美地在隐私列表中创建和添加成员。

    - (void)chatDidSetPrivacyListWithName:(NSString *)name{
    NSLog(@"chatDidSetPrivacyListWithName %@", name);
    [[QBChat instance] setDefaultPrivacyListWithName:name]; // set it as default privacy list
    }
  3. 即使我终止该应用程序或为同一用户重新安装它,我也能完美地获得此隐私列表。所以我的隐私列表代码运行良好

但我的DENY 隐私列表中的其他成员如何向我发送消息。根据此 http://quickblox.com/developers/SimpleSample-chat_users-ios#Contact_list 中的文件它应该给出像

这样的错误
 "error:Error Domain=com.quickblox.chat Code=503 "Service not available."

因此,如果所有隐私列表都正常工作,那么我被阻止的用户如何向我发送消息?

我曾在 iOS 中使用过 XMPP 如果您可以提供 XMPP 也可以作为 工作的逻辑,同样的问题也存在>QuickBlox 因为 QuickBlox 实际上使用 XMPP 本身。

对此有什么建议吗?

最佳答案

终于找到了解决办法。我在问题中写的流程和逻辑是完美的。我只剩下激活隐私列表的一个小功能。不知道为什么 QuickBlox 没有在他们的演示中编写该函数调用。

    [[QBChat instance] setActivePrivacyListWithName:@"public"];

同样在 XMPP 中,我们需要维护隐私列表并一次激活单一隐私。

关于ios - 如何在 QuickBlox 中阻止用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27665795/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com