该库提供了用于为 Agora 服务生成动态密钥(令牌)的工具,这些服务包括实时通信 (RTC)、实时消息 (RTM) 和即时通讯 (Chat)。该库专为 Swift 开发者设计,确保与 Agora 服务的无缝集成。
要将此包添加为依赖项,请将其包含在您的 Package.swift
文件中
.package(url: "https://github.com/GiacomoLeopizzi/agora-dynamic-key-swift", from: "1.0.0"),
将 AgoraDynamicKey 添加到您的应用程序的目标依赖项中
.product(name: "AgoraDynamicKey", package: "agora-dynamic-key-swift")
该库使用 Swift 的 C++ 互操作功能来封装 Agora 服务器端的 C++ SDK。该 SDK 作为子模块包含在项目中。因此,您还必须在使用该库的目标中启用它。 例如
.target(
name: "YourTarget",
dependencies: [
.product(name: "AgoraDynamicKey", package: "agora-dynamic-key-swift")
],
swiftSettings: [
.interoperabilityMode(.Cxx)
]
),
初始化
let chatTokenBuilder = ChatTokenBuilder(appID: "your_app_id", appCertificate: "your_app_certificate")
方法
buildAppToken(expire: TimeAmount = .zero) -> String
生成即时通讯应用令牌。
expire
: 令牌过期的秒数。String
。buildUserToken(userID: String, expire: TimeAmount = .zero) -> String
生成即时通讯用户令牌。
userID
: 用户的唯一标识符。expire
: 令牌过期的秒数。String
。初始化
let rtcTokenBuilder = RtcTokenBuilder(appID: "your_app_id", appCertificate: "your_app_certificate")
方法
buildTokenWithUid(channelName: String, uid: UInt32, role: UserRole, tokenExpire: TimeAmount, privilegeExpire: TimeAmount = .zero) -> String
为由 UID 标识的用户生成 RTC 令牌。
channelName
: RTC 会话的唯一名称。uid
: 代表用户 ID 的 32 位无符号整数。role
: 用户的角色(发布者或订阅者)。tokenExpire
: 令牌过期时间,以秒为单位。privilegeExpire
: 权限过期时间,以秒为单位(默认值:.zero
)。String
。buildTokenWithUserAccount(channelName: String, userAccount: String, role: UserRole, tokenExpire: TimeAmount, privilegeExpire: TimeAmount = .zero) -> String
为由用户帐户标识的用户生成 RTC 令牌。
buildTokenWithUid
相同,除了 userAccount
替换了 uid
。初始化
let rtmTokenBuilder = RtmTokenBuilder(appID: "your_app_id", appCertificate: "your_app_certificate")
方法
buildToken(userID: String, expire: TimeAmount = .zero) -> String
userID
: 用户的帐户 ID(最大 64 字节)。expire
: 令牌过期时间,以秒为单位。String
。欢迎贡献! 提交拉取请求或在存储库上打开一个 issue 以提出更改建议或报告错误。