为允许用户在有网络访问限制的环境中使用声网 RTC Unity SDK,声网提供云代理服务。用户只需在防火墙上将特定的 IP 地址和端口加入白名单,并调用 API 配置声网云代理服务。
1.声网 SDK 向声网云代理发起请求。声网云代理返回相应代理信息。
2.声网 SDK 向声网云代理发送数据。声网云代理接收数据并将数据透传给声网 SD-RTN™(Software Defined Real-time Network)。
3.声网 SD-RTN™ 向声网云代理返回数据。声网云代理接收数据并将数据发送给声网 SDK。
下载声网 RTC Unity SDK。
参考《快速开始》文档完成开发环境准备。
联系 sales@agora.io,提供以下信息申请开通云代理服务。
收到申请后,声网会提供用于云代理的 IP 地址和端口。请确保用户将声网提供的 IP 地址和端口添加到防火墙白名单。
对于 v3.3.1 或之后的 SDK,你可以调用 SetCloudProxy
方法开启云代理。
添加白名单后,调用 SetCloudProxy
,并将 proxyType
设为 UDP_PROXY(1)
。
测试是否能正常实现音视频通话或直播。
如需关闭云代理服务,调用 SetCloudProxy
,并将 proxyType
设为 NONE_PROXY
。
对于 v3.2.1 或之前的 SDK,你可以调用 SetParameters
私有参数开启云代理。
添加白名单后,请参考如下示例代码开启云代理:
// 开启云代理服务,并通过默认方式配置云代理服务。
SetParameters("{\"rtc.enable_proxy\":true}");
如需关闭云代理服务,调用 SetParameters("{\"rtc.enable_proxy\":false}");
。
SetCloudProxy
方法需要在使用云代理服务之前调用。例如你需要使用云代理才能加入频道,则需要在 JoinChannel
之前调用;如果你需要使用云代理才能进行通话前网络探测,则需要在 StartLastmileProbeTest
之前调用。SetCloudProxy
方法在 IRtcEngine
生命周期内有效。