本模块提供网络质量实时评估、网络场景辨认以及弱信号预测等本领,以便应用针对弱网等环境下实现网络自适应,包罗缓存、码率、帧率、分辨率等策略的调整。应用也可以通过网络质量中的应用传输体验反馈接口,触发体系举行网络加速。
起始版本: 5.0.0(12)
导入模块
- import { netQuality } from '@kit.NetworkBoostKit';
复制代码 netQuality.on( ‘netQosChange’)
on(type: ‘netQosChange’, callback: Callback<Array>): void
订阅网络质量信息。
需要权限: ohos.permission.GET_NETWORK_INFO
体系本领: SystemCapability.Communication.NetworkBoost.Core
起始版本: 5.0.0(12)
参数:
参数名类型必填说明typestring是固定填写"netQosChange"字符串,表示网络质量变化事件。callbackCallback<Array<[NetworkQos]>>是回调函数,返回网络Qos变化的详细信息。 错误码说明201权限校验失败。401参数检查失败。801设备不支持该API。 示例:
- import { BusinessError } from '@kit.BasicServicesKit';
- try {
- netQuality.on('netQosChange', (list: Array<netQuality.NetworkQos>) => {
- if (list.length > 0) {
- list.forEach((qos) => {
- // 回调信息处理
- console.info(`Succeeded receive netQosChange info`);
- });
- }
- });
- } catch (err) {
- console.error('errCode: ' + (err as BusinessError).code + ', errMessage: ' + (err as BusinessError).message);
- }
复制代码 netQuality.off( ‘netQosChange’)
off(type: ‘netQosChange’, callback?: Callback<Array>): void
取消订阅网络质量信息。
需要权限: ohos.permission.GET_NETWORK_INFO
体系本领: SystemCapability.Communication.NetworkBoost.Core
起始版本: 5.0.0(12)
参数:
参数名类型必填说明typestring是固定填写"netQosChange"字符串,表示连接状态变化事件。callbackCallback<Array<[NetworkQos]>>否需要取消注册的回调函数,需与订阅时传入的回调函数是同一个。若无此参数,则取消注册所有的回调函数。 错误码说明201权限校验失败。401参数检查失败。801设备不支持该API。 示例:
- import { BusinessError } from '@kit.BasicServicesKit';
- try {
- netQuality.off('netQosChange');
- } catch (err) {
- console.error('errCode: ' + (err as BusinessError).code + ', errMessage: ' + (err as BusinessError).message);
- }
复制代码 netQuality.on( ‘netSceneChange’)
on(type: ‘netSceneChange’, callback: Callback<Array>): void
订阅网络场景信息。
需要权限: ohos.permission.GET_NETWORK_INFO
体系本领: SystemCapability.Communication.NetworkBoost.Core
起始版本: 5.0.0(12)
参数:
参数名类型必填说明typestring是固定填写"netSceneChange"字符串,表示网络场景变化事件。callbackCallback<Array<[NetworkScene]>>是回调函数,返回网络场景变化的详细信息。 错误码说明201权限校验失败。401参数检查失败。801设备不支持该API。 示例:
- import { BusinessError } from '@kit.BasicServicesKit';
- try {
- netQuality.on('netSceneChange', (list: Array<netQuality.NetworkScene>) => {
- if (list.length > 0) {
- list.forEach((scene) => {
- // 回调信息处理
- console.info(`Succeeded receive netSceneChange info`);
- if (scene.weakSignalPrediction) {
- // 弱信号预测处理
- }
- });
- }
- });
- } catch (err) {
- console.error('errCode: ' + (err as BusinessError).code + ', errMessage: ' + (err as BusinessError).message);
- }
复制代码 netQuality.off( ‘netSceneChange’)
off(type: ‘netSceneChange’, callback?: Callback<Array>): void
取消订阅网络场景信息。
需要权限: ohos.permission.GET_NETWORK_INFO
体系本领: SystemCapability.Communication.NetworkBoost.Core
起始版本: 5.0.0(12)
参数:
参数名类型必填说明typestring是固定填写"netSceneChange"字符串,表示网络场景变化事件。callbackCallback<Array<[NetworkScene]>>否需要取消注册的回调函数,需与订阅时传入的回调函数是同一个。若无此参数,则取消注册所有的回调函数。 错误码说明201权限校验失败。401参数检查失败。801设备不支持该API。 示例:
- import { BusinessError } from '@kit.BasicServicesKit';
- try {
- netQuality.off('netSceneChange');
- } catch (err) {
- console.error('errCode: ' + (err as BusinessError).code + ', errMessage: ' + (err as BusinessError).message);
- }
复制代码 netQuality.reportQoe
reportQoe(appQoe: AppQoe): void
应用传输体验反馈,上报失败,接口会抛出异常。
需要权限: ohos.permission.GET_NETWORK_INFO
体系本领: SystemCapability.Communication.NetworkBoost.Core
起始版本: 5.0.0(12)
参数:
参数名类型必填说明appQoe[AppQoe]是表示应用需要反馈的传输体验信息。 错误码说明201权限校验失败。401参数检查失败。801设备不支持该API。 示例:
- import { BusinessError } from '@kit.BasicServicesKit';
- try {
- let serviceType: netQuality.ServiceType = 'shortVideo';
- let qoeType: netQuality.BadQoeCause = 'serverErr';
- let appQoe: netQuality.AppQoe = {
- serviceType,
- qoeType
- };
- netQuality.reportQoe(appQoe);
- } catch (err) {
- console.error('errCode: ' + (err as BusinessError).code + ', errMessage: ' + (err as BusinessError).message);
- }
复制代码 AppQoe
应用传输体验信息。
体系本领: SystemCapability.Communication.NetworkBoost.Core
起始版本: 5.0.0(12)
名称类型只读可选说明serviceType[ServiceType]否否应用的业务类型。qoeType[QoeType]否否应用体验类型。 NetworkQos
网络质量回调信息。
体系本领: SystemCapability.Communication.NetworkBoost.Core
起始版本: 5.0.0(12)
名称类型只读可选说明pathType[PathType]否否表明相应的数据路径上的网络质量信息。linkUpBandwidth[RateBps]否否上行带宽信息,单位为bps。linkDownBandwidth[RateBps]否否下行带宽信息,单位为bps。linkUpRate[RateBps]否否上行速率,单位为bps。linkDownRate[RateBps]否否下行速率,单位为bps。rttMsnumber否否RTT时延,取值范围是任意正数。linkUpBufferDelayMsnumber否否上行发送空口缓冲时延,取值范围是任意正数。linkUpBufferCongestionPercentnumber否是上行发送空口缓冲时延占总缓冲时间的比例,取值范围[0, 100]。 PathType
数据路径类型,枚举值。
体系本领: SystemCapability.Communication.NetworkBoost.Core
起始版本: 5.0.0(12)
名称值说明CELLULAR_PRIMARY0蜂窝主卡。CELLULAR_SECONDARY1蜂窝副卡。WIFI_PRIMARY2主WiFi。WIFI_SECONDARY3辅WiFi。 RateBps
type RateBps = number
带宽或速率的抽象表示。
体系本领: SystemCapability.Communication.NetworkBoost.Core
起始版本: 5.0.0(12)
类型说明number表示值的类型为number,可取任意正数,单位为bps。 ServiceType
type ServiceType = ‘default’ | ‘background’ | ‘realtimeVoice’ | ‘realtimeVideo’ | ‘callSignaling’ | ‘realtimeGame’ | ‘normalGame’ | ‘shortVideo’ | ‘longVideo’ | ‘livestreamingAnchor’ | ‘livestreamingWatcher’ | ‘download’ | ‘upload’ | ‘browser’
应用业务类型,表示值的类型为字符。
体系本领: SystemCapability.Communication.NetworkBoost.Core
起始版本: 5.0.0(12)
类型说明‘default’表示默认服务类型,值固定为’default’字符串。‘background’表示背景类型,值固定为’background’字符串。‘realtimeVoice’表示实时语音类型,值固定为’realtimeVoice’字符串。‘realtimeVideo’表示实时视频类型,值固定为’realtimeVideo’字符串。‘callSignaling’表示语音信令类型,值固定为’default’字符串。‘realtimeGame’表示实时游戏类型,值固定为’realtimeGame’字符串。‘normalGame’表示普通游戏类型,值固定为’normalGame’字符串。‘shortVideo’表示短视频类型,值固定为’shortVideo’字符串。‘longVideo’表示长视频类型,值固定为’longVideo’字符串。‘livestreamingAnchor’表示直播主播类型,值固定为’livestreamingAnchor’字符串。‘livestreamingWatcher’表示直播观看类型,值固定为’livestreamingWatcher’字符串。‘download’表示下载类型,值固定为’download’字符串。‘upload’表示上传类型,值固定为’upload’字符串。‘browser’表示浏览页面类型,值固定为’browser’字符串。 QoeType
type QoeType = ‘good’ | BadQoeCause
应用体验类型,表示值的类型为字符。
体系本领: SystemCapability.Communication.NetworkBoost.Core
起始版本: 5.0.0(12)
类型说明‘good’表示体验良好,值固定为’good’字符串。[BadQoeCause]表示体验差类型。 BadQoeCause
type BadQoeCause = ‘unknown’ | ‘serverErr’ | ‘noData’ | ‘packetLost’ | ‘packetOutOfOrder’ | ‘highJitter’ | ‘highLatency’
应用体验差类型,表示值的类型为字符。
体系本领: SystemCapability.Communication.NetworkBoost.Core
起始版本: 5.0.0(12)
类型说明‘unknown’表示未知原因,值固定为’unknown’字符串。‘serverErr’表示服务器异常,值固定为’serverErr’字符串。‘noData’表示无数据,值固定为’noData’字符串。‘packetLost’表示丢包,值固定为’packetLost’字符串。‘packetOutOfOrder’表示乱序,值固定为’packetOutOfOrder’字符串。‘highJitter’表示高抖动,值固定为’highJitter’字符串。‘highLatency’表示高时延,值固定为’highLatency’字符串。 速率带宽级别
界说了多个速率或带宽的常量值。
体系本领: SystemCapability.Communication.NetworkBoost.Core
起始版本: 5.0.0(12)
名称类型值说明BPSnumber11bpsKBPSnumber10001kbpsMBPSnumber10000001MbpsGBPSnumber10000000001GbpsTBPSnumber10000000000001Tbps NetworkScene
网络场景状态变更回调信息。
体系本领: SystemCapability.Communication.NetworkBoost.Core
起始版本: 5.0.0(12)
名称类型只读可选说明pathType[PathType]否否表明相应的数据路径上的网络场景信息。scene[Scene]否否场景状态。recommendedAction[RecommendedAction]否否建议的数传策略。weakSignalPrediction[WeakSignalPrediction]否是弱信号预测相关信息。 WeakSignalPrediction
弱信号预测相关信息。
体系本领: SystemCapability.Communication.NetworkBoost.Core
起始版本: 5.0.0(12)
名称类型只读可选说明isLastPredictionValidboolean否否近来一次的弱信号预测是否有用,true表示近来一次的弱信号预测仍旧有用,false表示近来一次的弱信号预测失效,此时startTime和duration参数忽略。startTimenumber否否预计多长时间进入弱信号(单位:秒),取值范围为0和任意正数。durationnumber否否预计在弱信号地区停留时长(单位:秒),取任意正数。取值0,此次预测结果无效。 Scene
type Scene = ‘normal’ | ‘congestion’ | ‘frequentHandover’ | ‘weakSignal’
场景类型,表示值的类型为字符。
体系本领: SystemCapability.Communication.NetworkBoost.Core
起始版本: 5.0.0(12)
类型说明‘normal’表示正常场景,值固定为’normal’字符串。‘congestion’表示拥塞场景,值固定为’congestion’字符串。‘frequentHandover’表示小区切换频繁场景,值固定为’frequentHandover’字符串。‘weakSignal’表示弱信号场景,值固定为’weakSignal’字符串。 DataSpeedSimpleAction
type DataSpeedSimpleAction = ‘suspendData’ | ‘decreaseData’ | ‘increaseData’ | ‘keepData’
应用发包策略的简单建议,表示值的类型为字符。
体系本领: SystemCapability.Communication.NetworkBoost.Core
起始版本: 5.0.0(12)
类型说明‘suspendData’表示制止发包,值固定为’suspendData’字符串。‘decreaseData’表示低落发包速率,值固定为’decreaseData’字符串。‘increaseData’表示增加发包速率,值固定为’increaseData’字符串。‘keepData’表示保持当前发包速率,值固定为’keepData’字符串。 RecommendedAction
type RecommendedAction = ‘doCaching’ | DataSpeedSimpleAction
应用数传策略建议,表示值的类型为字符。
体系本领: SystemCapability.Communication.NetworkBoost.Core
起始版本: 5.0.0(12)
类型说明‘doCaching’表示做缓存动作,值固定为’doCachi
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |