1

我正在尝试创建一对一的通道连接,但是我无法弄清楚创建 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 的类型,并得到字符串。

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

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

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

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

4

1 回答 1

2

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对象是获取用户列表的查询对象。如果要从查询对象中获取用户对象,则必须调用加载方法。

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

        })
于 2017-08-23T18:46:55.590 回答