【问题标题】:User management with Firebase yields a String UID how can I use the String value for UID with Agora.IOFirebase 的用户管理产生一个字符串 UID 如何在 Agora.IO 中使用 UID 的字符串值
【发布时间】:2020-06-05 07:07:40
【问题描述】:

我正在使用 iOS/Swift 开发一个项目。我已经为用户管理实现了 Firebase,并部署了 Agora 提供的用于令牌管理的 Heroku 服务器。

我可以将用户的 UID 从 firebase 发送到 heroku 服务器,以使用 url:https://myserver.herokuapp.com/access_token?channel=\(channelName)&uid=\(uids[0]) 生成令牌。

UID 是一个字符串,当我尝试在视频控制器中将其用作 UID 来发起聊天时,我收到一条错误消息,指出“无法将 'String' 类型的值分配给 'UInt' 类型”。

那么有没有办法将字符串推送到 Agora,或者是否有一种流行的解决方案可以从 Firebase 创建基于字符串的 UID 的 UInt 版本?

【问题讨论】:

    标签: swift firebase agora.io


    【解决方案1】:

    Agora 使用 UInt id,因此 Firebase 使用的字符串不起作用。处理这个问题的最简单方法是让 Agora 为您处理频道 ID。您不需要让给定的用户每次进入频道时都具有相同的 UID,因此您只需传入 0 作为 ID,然后将 Agora 传回的内容保存给您。

    如果您确实希望每个用户在 Agora 中拥有一个唯一且不变的 ID,最好的方法是为每个用户提供一个唯一的 UInt id(或者自己生成它,或者让 Agora 为没有的用户生成它)没有),然后将其保存到 Firebase 数据库,或者您已经存储用户数据的任何位置。

    【讨论】:

    • 谢谢。这很有道理。我正在尝试遵循本教程:medium.com/@unicornmobile/…,以便我可以集成 callKit。我在这里使用了示例,该示例使用此命令“let localUID = UInt(UUID().hashValue)”创建了一个 UInt 值。我仍然不清楚如何将通话套件中的视频通话推送给其他用户。有没有更好或更全面的教程?
    • 如何将 Agora 上的用户与 Firebase 数据库中的用户对应起来?随机 uInt 并没有说明它是谁。
    猜你喜欢
    • 1970-01-01
    • 2017-03-09
    • 2019-08-16
    • 1970-01-01
    • 2017-10-10
    • 1970-01-01
    • 2012-04-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多