【发布时间】:2020-07-08 21:28:33
【问题描述】:
我正在关注 Agora.io channel management guide 加入使用 iOS 版 AgoraRtcEngineKit 的频道。它指出我应该调用 AgoraRtcEngineKit 类的 createRtcChannel 来创建一个带有频道 ID 的 AgoraRtcChannel 对象。但是,AgoraRtcEngineKit 在 Swift 中没有 createRtcChannel 方法。另一种方法是我使用 Obj-C 代码,但这似乎有点 hacky。
其次,在token generation reference之后,我需要使用RtcTokenBuilder生成一个服务器令牌。它指出“您的令牌需要在您自己的服务器上生成,因此您需要首先在服务器上部署令牌生成器。”理想情况下,我可以在 Swift 中生成令牌,但源代码唯一可用的语言是 C++、Java、Python、PHP、Node.js、Go、Ruby。我假设我可以使用 JavaScriptCore 做到这一点,但是,就像通道生成一样,这似乎不是一个最佳解决方案。
根据文档:
生成令牌(或临时令牌)后,客户端应 使用令牌在 24 小时内加入频道。否则,你需要 生成新令牌(或临时令牌)。
令牌(或临时令牌)在一段时间后过期 时间。当 SDK 通知客户端 token 即将发送时 expire 或已由 onTokenPrivilegeWillExpire 过期或 onTokenExpired 回调,需要生成新的令牌并调用 renewToken 方法。
令牌编码使用标准 HMAC/SHA1 方法和 库在常见的服务器端开发平台上可用, 例如 Node.js、Java、PHP、Python 和 C++。
通过 Agora.io 在 iOS Swift 中使用 AgoraRtcEngineKit 生成频道和令牌以加入频道的标准方法是什么?
提前致谢!
【问题讨论】:
-
我也有同样的问题。如果您自己找到答案,您介意将其发布吗?谢谢
-
@Jaqueline 我想通了——您需要在 Heroku 上部署动态密钥令牌生成脚本并解析 HTTP 获取请求(请参阅下面的答案)。
标签: ios swift api token agora.io