使用swift在1个频道上创建1个SendBird

时间:2017-08-22 13:51:57

标签: swift sendbird

我正在尝试创建一对一通道连接,但是我无法弄清楚创建SDBUser的格式。我正在做以下尝试创建频道。

SBDGroupChannel.createChannelWithUsers([("123456", "1234567"], isDistinct: true) { (channel, error) in
            if error != nil {
                NSLog("Error: %@", error!)
                return
            } else {
                //this means that the channel was successfully created
                print(channel)

                //segue to the open chat view
                //segue here DREW
            }
        }

这些字符串是它们出现在SendBird中的ID。它有一个错误,它预期SDBUser的类型,并得到String。

我已尝试以下方法来获取SBDUser,但我得到以下值

let user1 = SBDUserListQuery.init(userIds: ["123456"])

但是用户值是SBDUserListQuery类型,所以它仍然不起作用。

我无法在SendBird文档中找到解决方案

1 个答案:

答案 0 :(得分:1)

SendBird有多种方法可以创建包含用户对象或用户ID的组通道。您使用的方法是使用用户对象创建通道。以下链接是另一个带有用户ID的方法。

https://docs.sendbird.com/ref/ios/Classes/SBDGroupChannel.html#//api/name/createChannelWithUserIds:isDistinct:completionHandler

该链接适用于Objective-C,但您可以在Swift中采用相同的方法:

斯威夫特3:

SBDGroupChannel.createChannel(withUserIds: ["123456", "1234567"], isDistinct: true) { (channel, error) in
    // Do something.            
        }

SBDUserListQuery对象是获取用户列表的查询对象。如果要从查询对象中获取用户对象,则必须调用load方法。

https://docs.sendbird.com/ref/ios/Classes/SBDUserListQuery.html#//api/name/loadNextPageWithCompletionHandler

方法的completionHandler块返回用户列表。

斯威夫特3:

let query = SBDUserListQuery(userIds: ["123456"]);
query?.loadNextPage(completionHandler: { (users, error) in

        })