AB测试服务器下发地址。一般用户无需关注
IM 账号
登录 IM 的鉴权方式(默认为 0):
采用动态 token 鉴权时,需要在重连时,重新设置 token,否则重连时会鉴权失败
nim.on('willReconnect', () => {
nim.setOptions({
token: 'new token'
})
})
日志级别,默认为 off,即不输出任何日志
手动传入一个设备ID。若不设置该参数,默认设备 ID 是随机生成的。
设备ID主要用于推送服务。若要使用推送服务,应该设置 isFixedDeviceId = true。设置后,同一个设备会一直使用一个随机生成的设备ID。
然而,若客户端环境无法使用 localStorage,则即使设置了 isFixedDeviceId = true,应用也会每次生成一个新的设备ID。在这种情况下,为了固定设备ID,可以使用该变量,手动传入一个不变的设备 ID。这个设备ID可以通过安卓,或者iOS的库,或者uniapp的相关工具和设备硬件信息绑定。
Abtest 是否开启,默认 true 开启
注: 打开这个开关,在 sdk 内部会试探某些新功能的开启,建议开发者不要轻易设置它。
是否 deviceId 需要固定下来。默认 false。
true:sdk 随机对设备生成一个设备标识并存入 localstorage 缓存起来,也就是说一个浏览器来说所有 SDK 实例连接都被认为是共同的设备。
false:每一个 sdk 实例连接时,使用随机的字符串作为设备标识,相当于每个实例采用的不同的设备连接上来的。
lbs 地址,默认为云信公网提供的链接。SDK 连接时会向 lbs 地址请求得到 socket 连接地址。
注:为了防止 lbs 链接被网络运营商劫持,开发者可以传入自己代理的地址做备份,['公网地址', '代理地址']
socket 备用地址,当 lbs 请求失败时,尝试直接连接 socket 备用地址。
注:优先级最高的是 lbs 地址下发的 socket 连接地址, 次为开发者在此填的 socket 备用地址(如果不填这个字段, SDK 会有内部默认的备用地址)
是否需要自动重连,默认为 true
自动重连尝试次数。默认为不限次数
建立 websocket 长连接的超时时间。默认为 8000 ms
IM 登录 token。
注意,若 authType = 1,即鉴权方式为动态 token,则需要在重连时,重新设置 token,防止 token 过期导致鉴权失败
nim.on('willReconnect', () => {
nim.setOptions({
token: 'new token'
})
})
建立连接时的 xhr 请求的超时时间。默认为 8000 ms。
xhr 请求是 websocket 连接建立前的步骤。它主要用于和服务器协商连接ID
NIM 的构造函数初始化参数
eg. new NIM({ ...NIMInitializeOptions })