Ziwo SDK
我们的团队开发了一个 SDK,它为将 Ziwo 通话轻松集成到您的 iOS 应用提供了一个方式。使用 Swift 5 编写,结合 WebSockets,Verto 协议 以及 GoogleRTC,此 SDK 集成了一些基本功能,具体如下。
功能
- Verto 认证
- 呼叫代理或外部号码
- 从代理或外部号码接收来电
- 通话过程中禁用麦克风
- 通话期间将音频源设置为扬声器
- 挂断/保持正在进行中的通话
要求
- iOS 10.0+
- Xcode 11+
- Swift 5.1+
安装
使用 Cocoapods 将 SDK 添加到您的应用中。
pod 'ZiwoSDK'
初始化
为了设置Ziwo SDK和Verto协议,请按照以下步骤进行。
- 设置域名.
ZiwoSDK.shared.domain = "test-domain.aswat.co"
- 一旦代理已登录到Ziwo (
.POST /auth/login
),则设置请求返回的访问令牌。
ZiwoSDK.shared.accessToken = accessToken
-
通知Ziwo代理已连接且可用(
.POST /agents/autoLogin
)。 -
每次您获取代理数据(
.GET /profile
),请设置已登录的代理。
ZiwoSDK.shared.setAgent(agent: agent)
- 最后,初始化Ziwo客户端。
self.ziwoClient.initializeClient()
self.ziwoClient.delegate = self
就是这样!ZiwoSDK已完全初始化,现在可以拨打电话和接收电话。(请参阅ZiwoClientDelegate
方法)。当前SDK正在记录关于websocket和Verto协议通信的大量信息。如果您想禁用调试模式,将vertoDebug
布尔值设置为false
。
示例
有关实现的更多信息,您可以检查可用的示例应用程序。请查看ZiwoClient
及其代理(ZiwoClientDelegate)的文档。
- 进行通话
self.ziwoClient.call(number: "+33XXXXXXXXX")
- 接收通话
将代理ZipClientDelegate
链接到您的控制器。当有人打电话时,将触发ZipClientDelegate.vertoReceivedCall(callerId: String)
。在任何时候,您都可以通过调用ZipClient.findCall(callId: String)
来检索有关通话的信息。
获取帮助
- 有错误要报告吗? 打开GitHub问题。如果可能,包括ZiwoSDK的版本,完整日志以及显示问题的项目。
- 有功能请求吗? 打开GitHub问题。告诉我们该功能应该做什么以及为什么您想要该功能。
贡献
欢迎Pull请求。对于重大更改,请首先打开问题以讨论您想要更改的内容。
许可证
ZiwoSDK 采用 GNU GPVL3 许可发布。详情见 LICENSE。