除了主方法 xyRTC
外,XY Web SDK 还暴露一些 helper 函数模块,用来方便第三方集成服务;
// 导入 detectLocator 函数
import { detectLocator } from '@xylink/xy-rtc-sdk'
混合云环境使用,在 XY RTC SDK 登录 之前使用,用户获取内外网探测地址,进行跨云呼叫,即内网用户呼叫内网资源,外网用户呼叫云服务;
使用方式:
detectLocator
此方法探测并获取到内网地址(新增集成步骤);wssServer
属性为第一步获取的 ip 地址isSupportHybridCloud
属性为truewssServer
属性为外网服务地址(wss://cloudapi.xylink.com),配置isSupportHybridCloud
属性为false;
detectLocator(ILocatorConfig): Promise<string>;
interface ILocatorConfig {
// 企业id
extId: string;
// clientId:通过企业管理平台/或者项目对接人获取
clientId: string;
// clientSecret:通过企业管理平台/或者项目对接人获取
clientSecret: string;
// 探测服务器地址,即API网关地址,默认情况下请填写:https://cloudapi.xylink.com
httpServer: string;
}
备注:httpServer、wssServer 为外网地址;
// 内外网探测
const locatorServer = await detectLocator({
httpServer,
clientId,
clientSecret,
extId,
});
XYRTC.createClient({
// 注意:内外网探测,如果没有得到locatorServer,则需配置wss为外网地址(wss://cloudapi.xylink.com)
wssServer: locatorServer ? `wss://${locatorServer}` : wssServer,
httpServer,
logServer,
clientId,
clientSecret,
extId,
// 注意:内外网探测,如果得到locatorServer,则需配置此值为true;(默认: false)
isSupportHybridCloud: !!locatorServer,
});