MpAccClient
方法 | 描述 |
getInstance | 获取 MpAccClient 单例 |
setAccType | 设置加速类型 |
setDataKey | 设置设备密钥 |
setSign | 设置应用签名鉴权 |
setupRegionalAccess | 设置是否通过地域分配接入点 |
setupConnectTimeout | 设置连接超时时间 |
setLogInfoCallback | 设置 log 信息回调接口 |
setLogLevel | 设置日志等级 |
startAcc | 发起加速 |
stopAcc | 停止加速 |
startMeasure | 开启网络测量 |
stopMeasure | 停止网络测量 |
registerAccCallback | 发起监听加速状态 |
unregisterAccCallback | 取消监听加速状态 |
registerMeasureCallback | 发起网络测量回调监听 |
unregisterMeasureCallback | 取消网络测量回调监听 |
register | 预注册 |
getSdkVersion | 获取 SDK 版本号 |
setGatewayId | 设置 EO 网关 ID |
reportQoe | 应用传输体验反馈 |
setSceneDesc | 设置的业务场景信息 |
getMultiPathQuotaStats | 获取当前应用多网使用的配额 |
getInstance
获取 MpAccClient 单例。
public static getInstance(context: Context): MpAccClient
参数 | 描述 |
context | Context |
setAccType
设置加速类型。
static setAccType(type: AccType): void
参数 | 描述 |
type | 加速类型: AccType.SOCKS AccType.VPN |
setDataKey
用于自有设备,设置设备密钥,认证鉴权。
static setDataKey(uuid: string, dataKey: string)
参数 | 描述 |
uuid | 设备唯一标识(可复用云 Api 返回的 deviceId ) |
dataKey | 设备密钥(每个 datakey 对应一个设备,不能重复使用) |
setSign
用户按应用创建的设备,设置应用签名鉴权。
static setSign(appId: string, sign: string)
参数 | 描述 |
appId | 应用 appId |
sign | 签名字符串 |
setupRegionalAccess
是否通过地域分配接入点,此接口可以减少注册耗时,SDK 初始化即可调用。
static setupRegionalAccess(isRegionalAccess: boolean)
参数 | 描述 |
isRegionalAccess | 是否通过地域分配接入点 true:是 false:否 默认 true |
setGatewayId
设置网关 ID。
static setGatewayId(gwId: string)
参数 | 描述 |
gwId | 网关 ID |
setupRegisterConnectTimeout
设置注册超时时长,默认 10s。
static setupRegisterConnectTimeout(timeout: number)
参数 | 描述 |
timeout | 超时时间(单位:秒) |
setLogInfoCallback
设置 log 日志回调。
static setLogInfoCallback(logInfoCallback: LogInfoCallback)
参数 | 描述 |
logInfoCallback | log 日志回调实例 |
setLogLevel
设置日志等级,Release 版本建议日志 level 设置为 Info 级别。
static setLogLevel(level: number, enablePrint: boolean)
参数 | 描述 |
level | 日志等级 0:Panic 1:Fatal 2:Error 3:Warn 4:Info 5:Debug 6:Trace |
enablePrint | SDK 是否打印日志 ture:打印 false:不打印 |
startAcc
发起加速,如果使用 vpn 模式,加速前需要用户手动确认 vpn 权限。
public abstract startAcc(accConfig: AccConfig)
参数 | 描述 |
accConfig | 加速配置对象 |
stopAcc
停止加速。
public abstract stopAcc()
startMeasure
开启网络测量,此 api 主要是用来测速、回源来配合加速使用,使加速效果最优化(如果使用 vpn 加速白名单应用,需将自身应用包名也加入白名单,调用此方法后,加速链路的探测才会生效)。
public abstract startMeasure(measureConfig: MeasureConfig)
参数 | 描述 |
measureConfig | 网络测量配置对象 |
stopMeasure
关闭网络测量。
public abstract stopMeasure()
registerAccCallback
发起监听加速状态。
public abstract registerAccCallback(accCallback: AccCallback)
参数 | 描述 |
accCallback | 加速状态回调对象 |
unregisterAccCallback
取消监听加速状态。
public abstract unregisterAccCallback(accCallback: AccCallback)
参数 | 描述 |
accCallback | 加速状态回调对象 |
registerMeasureCallback
发起网络测量回调监听。
public abstract registerMeasureCallback(measureCallback: MeasureCallback)
参数 | 描述 |
measureCallback | 网络测量回调对象 |
unregisterMeasureCallback
取消网络测量回调监听。
public abstract unregisterMeasureCallback(measureCallback: MeasureCallback)
参数 | 描述 |
measureCallback | 网络测量回调对象 |
register
预注册,初始化后提前调用此接口,能减少发起加速到加速成功所花费的时间。
public abstract register(mode: number, registerCallback: RegisterCallback)
参数 | 描述 |
mode | 加速模式 |
registerCallback | 预注册回调对象 |
getSdkVersion
获取 SDK 版本号。
public String getSdkVersion()
reportQoe
应用传输体验反馈。
public abstract reportQoe(appQoe: netQuality.AppQoe);
参数 | 描述 |
appQoe | 表示应用需要反馈的传输体验信息 |
setSceneDesc
设置的业务场景信息。
public abstract setSceneDesc(sceneDesc: netBoost.SceneDesc)
参数 | 描述 |
sceneDesc | 业务场景信息 |
getMultiPathQuotaStats
获取当前应用多网使用的配额,包括已使用的配额信息和剩余配额信息。
public abstract getMultiPathQuotaStats(): netHandover.MultiPathQuota
RegisterCallback
方法 | 描述 |
onRegisterSuccess | 注册成功 |
onRegisterFail | 注册失败 |
onRegisterSuccess
注册成功。
onRegisterSuccess: () => void
onRegisterFail
注册失败。
onRegisterFail: (code: number) => void
参数 | 描述 |
code | 错误码,参考错误码模块 |
AccCallback
加速状态回调对象。
方法 | 描述 |
onAccSuccess | 加速成功回调 |
onAccFail | 加速失败回调 |
onAccDataUpdate | 网络速率回调 |
onNetworkStateChanged | 网卡链路状态变化回调 |
onSummaryInfoUpdate | 加速汇总信息更新 |
onAccSuccess
加速成功回调。
onAccSuccess: (ip: string, port: number) => void
参数 | 描述 |
ip | 加速节点 IP |
port | 加速节点端口 |
onAccFail
加速失败回调。
onAccFail: (errorCode: number) => void
参数 | 描述 |
errorCode | 错误码 |
onAccDataUpdate
网络速率回调,回调频率由 AccConfig 的 pingInterval 设置。
onAccDataUpdate: (tRx: number, tTX: number, pathDetails: ArrayList<PathDetail>) => void
参数 | 描述 |
tRx | 总接收数据量(单位:byte) |
tTx | 总发送数据量(单位:byte) |
pathDetails | 链路详细信息 |
onSummaryInfoUpdate
加速汇总信息更新。
onSummaryInfoUpdate: (summaryJson: string) => void
参数 | 描述 |
summaryInfo | 加速汇总信息 |
MeasureCallback
网络测量回调对象。
方法 | 描述 |
onStartMpAcc | 建议开启加速 |
onStopMpAcc | 建议关闭加速 |
onStartQos | 建议打开 QoS |
onNoPolicy | 当前网络状态无策略可用 |
onAccException | 加速链路出现异常 |
onRttChanged | 旁路 udping rtt 时延回调 |
onAccStateChanged | 加速状态改变回调 |
onStartMpAcc
建议发起加速回调,只有 Wi-Fi 和蜂窝同时在线时,才会触发此回调。
onStartMpAcc: (code: number) => void;
参数 | 描述 |
code | 触发码 0:聚合模式触发 1:时延异常触发 2:丢包率异常触发 3:抖动异常触发 |
onStopMpAcc
建议关闭加速回调。
onStopMpAcc: (code: number) => void;
参数 | 描述 |
code | 触发码 1:单网卡触发 2:无优化触发 3:无网络触发 4:加速网卡和实际活跃网卡不一致 |
onStartQos
建议打开 QoS ,单蜂窝场景才会触发。
onStartQos: (code: number) => void;
参数 | 描述 |
code | 触发码 1:时延异常触发 2:丢包率异常触发 3:抖动异常触发 |
onNoPolicy
当前网络状态无策略可用。
onNoPolicy: (code: number) => void;
参数 | 描述 |
code | 触发码 2:单 wifi 3:无网络可用 4:内部错误 5:测速服务异常断开 -12:认证超时 -13:认证异常 -19:测速服务失败 -23:账户认证失败 |
onAccException
加速链路出现异常(此种情况 sdk 会主动关闭加速和测速,切回正常模式)。
onAccException: (errorCode: number, msg: string) => void;
参数 | 描述 |
errorCode | 错误码 -6 acc 测速 持续丢包异常 -7 acc 测速 最大时延数异常 -8 acc 测速 对比默认路由时延异常 -9 acc 测速 平均时延超出最大阈值 |
onRttChanged
旁路 udping rtt 时延回调,最低频率为 500ms。
onRttChanged: (type: number, rtt: number) => void;
参数 | 描述 |
type | 种类 终端到加速网关的测速 0:mobile 1:wifi 2:acc |
rtt | 时延(ms) 和 pingTimeout 一致,默认为1000 |
onAccStateChanged
加速状态改变回调。
onAccStateChanged: (state: number, code: number) => void;
参数 | 描述 |
state | 0:关闭 1:打开 |
code | 0:正常开启 1:正常关闭 2:异常关闭 3:回调 onRevoke 关闭 |
LogInfoCallback
日志回调对象。
方法 | 描述 |
onLogInfoUpdate | 日志回调 |
onLogInfoUpdate
回调日志信息。
void onLogInfoUpdate(String tag, String msg)
参数 | 描述 |
tag | 标记 |
msg | 详细信息 |
Model
AccConfig
属性 | 描述 |
accMode | 设置加速模式 |
accNode | 设置加速节点 |
pingInterval | 设置回调间隔时间 |
socksPort | socks 代理端口号 |
accLinks | 设置加速链路 |
priority | 设置链路优先级 |
tcpDirect | 设置 TCP 直连 |
udpDirect | 设置 UDP 直连 |
whiteList | 设置白名单应用 |
blackList | 设置黑名单应用 |
setRoute | 设置路由表 |
setInt | 设置 int 类型配置参数 |
setString | 设置 string 类型配置参数 |
setBoolean | 设置 boolean 类型配置参数 |
setEncryption | 设置是否加密 |
setCongestionMode | 设置拥塞算法 |
setNetworkConditions | 设置网络加速满足条件 |
setRoute
设置路由。
public setRoute(address: string, prefixLength: number): AccConfig
参数 | 描述 |
address | IP 地址 |
prefixLength | 子网掩码长度 |
setInt
设置 Int 类型配置参数。
public setInt(key: string, value: number)
参数 | 描述 |
key | 配置名称,key 值: AccConfig.KEY_MAX_RTT_DISABLE_AGGREGATION 聚合模式下,超过此值的链路将不参与聚合。一般不建议用户修改 AccConfig.KEY_MAX_DELAY_UNTIL_FAILED 实时模式,可用链路判定阈值。超过此值的链路被认为是故障链路,将不再使用直到恢复。一般不建议用户修改 AccConfig.KEY_MIN_SWITCH_RTT 实时模式,切换敏感度。一般不建议用户修改 AccConfig.KEY_MAX_RTT_THRESHOLD 聚合模式和实时模式,链路故障检测开启阈值。超过此值的链路会进行故障检测。一般不建议用户修改 AccConfig.KEY_MAX_RETRY_TIMES 设置 Quic 建联重试次数,默认3次 |
value | 配置值 |
setString
设置 String 类型配置参数。
public setString(key: string, value: string)
参数 | 描述 |
key | 配置名称,key 值: AccConfig.KEY_SERVER_DOMAIN 配置域名 AccConfig.KEY_SECRET_KEY_ID 密钥 ID AccConfig.KEY_CIPHER_TEXT 签名字符串 AccConfig.KEY_SIGNATURE 数字签名 AccConfig.KEY_T2_OUT 指定 T2 段加速下车点,目前支持的下车点有:frankfurt siliconvalley saopaulo tokyo bangkok singapore hongkong 如指定中国香港下车点: accConfig.setBoolean(AccConfig.KEY_ENABLE_T2_ACC, true); accConfig.setString(AccConfig.KEY_T2_OUT, "hongkong"); |
value | 配置值 |
setBoolean
设置 Boolean 类型配置参数。
public setBoolean(key: string, value: boolean)
参数 | 描述 |
key | 配置名称 key 值: AccConfig.KEY_ENABLE_T2_ACC 开启 T2段加速 AccConfig.KEY_ALLOW_PRIVATE_NETWORK 内网互通 |
value | 配置值 |
MeasureConfig
属性 | 描述 |
rtt | 设置时延阈值 |
loss | 设置丢包率阈值 |
jitter | 设置抖动阈值 |
addr | 设置测速地址 |
mode | 设置模式 |
time | 设置滑动窗口测量时间 |
quickTime | 设置快启动窗口时间 |
quickRtt | 设置快启动时延阈值 |
interval | 设置测量回调频率 |
pingTimeout | 设置 ping 包超时时间 |
t2AccProbeAddr | 设置 T2 段测速 IP |
disableSlaveLossDetect | 设置禁用从路丢包检测 |
additionalOptions | 设置逃生回源自定义选项 |
delayRemindTime | 设置延迟提醒时间,单位毫秒 |
disableQuickDetect | 设置禁用快速检测 true:禁用 false:不禁用 |
MpAdditionalOptions
逃生回源自定义对象,如果业务没有设置 AdditionalOptions,SDK 会走默认对应模式逃生逻辑(触发 onAccException ),如果设置了,SDK 逃生逻辑以业务设置的为主。
属性 | 描述 |
packetLossEscape | 加速链路连续【packetLossCount】失联,触发逃生 |
maxRttEscape | 加速链路连续【maxRttCount】ping 值大于等于【rttThreshold】ms,触发逃生 |
rttExceptionEscape | 加速链路【detectWindowTime】ms 平均 ping 值大于主链路【rttDiffThreshold】%,并且 acc 平均时延大于【accBenchmarkRtt】ms,触发逃生 |
stopAccRemind | 加速链路【detectWindowTime】内平均时延大于主链路【rttDiffThreshold】%,且抖动大于主链路【jitterDiffThreshold】%,建议关闭加速(触发 onStopMpAcc) |
Pathdetail
属性 | 描述 |
dstIp | 目标 ip |
pathID | 链路 id |
lineType | 链路类型 |
lost | 链路丢包率 单位:% |
rtt | 链路时延 单位:ms |
type | 链路种类 (-1:无效网卡 0:mobile 1:wifi 2: acc ) |
ifName | 网卡名称 |
rxBytes | 下行速率 单位:byte/s |
txBytes | 上行速率 单位:byte/s |
rxPackets | 下行数据包量 |
txPackets | 上行数据包量 |
totalRxBytes | 获取当前链路所有下行流量 |
totalTxBytes | 获取当前链路所有上行流量 |
peakRxBytes | 下行峰值流量 |
peakTxBytes | 上行峰值流量 |