当前位置: 首页 > news >正文

MobPush扩展业务功能设置

扩展业务说明

MobPush提供的扩展业务功能包括:

  • 按照地域提供更为精准的推送;
  • 实现网络链路的选择与优化、检测并实现与特定区域相关的服务;
  • 生成用户画像;
  • 合并链路服务。

其中鸿蒙端支持上述第一项和第二项功能。MobPush为开发者提供退出上述功能的接口,开发者可以调用接口,向最终用户提供退出的能力。最终用户退出上述功能后,MobPush依然可以为您终端用户提供基础的消息推送服务。开发者需遵守相关法律法规的要求,在App内为最终用户提供退出上述扩展业务的功能,并保证在最终用户点击退出功能后能正常调用MobPush的能力接口。

配置方法

应用若需要控制MobPush扩展业务功能进行配置,只需要基于 App数据采集主动控制器对这些功能所依赖之数据项进行配置即可。操作方法如下:

按照地域提供更为精准的推送

此功能依赖数据项包括:地理位置信息。MobCustomController 类中与之对应的开关和数据回传方法列表如下:

<span style="background-color:#42475a"><span style="color:#a9b7c6"><code class="language-typescript"><span style="color:grey">/*** 用于判断是否允许SDK主动采集经纬度信息** @return true表示SDK可以自行采集经纬度信息,false表示不可以,默认为true*/</span>
<span style="color:#cc7832">public</span> <span style="color:#ffc66d">isLocationDataEnable</span>(): boolean {<span style="color:#cc7832">return</span> <span style="color:#6897bb">true</span>;
}<span style="color:grey">/*** 当SDK被拒绝自行采集经纬度信息后,会通过此方法向App请求经纬度数据** @return 包含了经纬度信息的Location对象,如果返回null则表示不提供经纬度信息*/</span>
<span style="color:#cc7832">public</span> <span style="color:#cc7832">async</span> <span style="color:#ffc66d">getLocation</span>(): Promise<geoLocationManager.Location | <span style="color:#6897bb">null</span>> {<span style="color:#cc7832">return</span> <span style="color:#6897bb">null</span>;
}
</code></span></span>
  • 当上述数据开关接口返回 true 时,MobPush被允许自行获取相应数据;
  • 当上述开关接口返回 false 时,MobPush被禁止自行获取相应数据,仅允许向 App请求相应数据。此时 App可选择是否回传相应数据。

实现网络链路的选择与优化、检测并实现与特定区域相关的服务

此功能依赖数据项包括:网络状态信息。MobCustomController 类中与之对应的开关和数据回传方法列表如下:

<span style="background-color:#42475a"><span style="color:#a9b7c6"><code class="language-typescript"><span style="color:grey">/*** 用于判断是否允许SDK主动采集WIFI信息** @return true表示SDK可以自行采集WIFI信息,false表示不可以,默认为true*/</span>
<span style="color:#cc7832">public</span> <span style="color:#ffc66d">isWifiDataEnable</span>(): boolean {<span style="color:#cc7832">return</span> <span style="color:#6897bb">true</span>;
}<span style="color:grey">/*** 当SDK被拒绝自行采集WIFI信息后,会通过此方法向App请求WIFI数据** @return 包含了WIFI信息的WifiLinkedInfo对象,如果返回null则表示不提供WIFI信息*/</span>
<span style="color:#cc7832">public</span> <span style="color:#cc7832">async</span> <span style="color:#ffc66d">getWifiLinkedInfo</span>(): Promise<wifiManager.WifiLinkedInfo | <span style="color:#6897bb">null</span>> {<span style="color:#cc7832">return</span> <span style="color:#6897bb">null</span>;
}<span style="color:grey">/*** 当SDK被拒绝自行采集WIFI信息后,会通过此方法向App请求WIFI列表** @return WIFI扫描结果列表,如果返回null则表示不提供经WIFI列表信息*/</span>
<span style="color:#cc7832">public</span> <span style="color:#cc7832">async</span> <span style="color:#ffc66d">getWifiScanResults</span>(): Promise<wifiManager.WifiScanInfo[] | <span style="color:#6897bb">null</span>> {<span style="color:#cc7832">return</span> <span style="color:#6897bb">null</span>;
}
</code></span></span>
  • 当上述数据开关接口返回 true 时,MobPush被允许自行获取相应数据;
  • 当上述开关接口返回 false 时,MobPush被禁止自行获取相应数据,仅允许向 App请求相应数据。此时 App可选择是否回传相应数据。

其它配置

其它 App数据采集主动控制器的配置方法,可参考链接。

接入方法

继承MobCustomController,重写内部成员方法

示例代码:

<span style="background-color:#42475a"><span style="color:#a9b7c6"><code class="language-typescript">export <span style="color:#cc7832">class</span> <span style="color:#ffc66d">MyCustomController</span> <span style="color:#cc7832">extends</span> <span style="color:#ffc66d">MobCustomController</span> {public isWifiDataEnable(): boolean {<span style="color:#cc7832">return</span> <span style="color:#6897bb">false</span>;}<span style="color:grey">// ...视情况重写其他数据开关接口</span>public async getWifiLinkedInfo(): <span style="color:#ffc66d">Promise</span><wifiManager.<span style="color:#ffc66d">WifiLinkedInfo</span> | <span style="color:#6897bb">null</span>> {let <span style="color:#cc7832">val</span>: wifiManager.<span style="color:#ffc66d">WifiLinkedInfo</span> | <span style="color:#6897bb">null</span> = await wifiToolKit.getWInfo()<span style="color:#cc7832">return</span> <span style="color:#cc7832">val</span>;}public async getWifiScanResults(): <span style="color:#ffc66d">Promise</span><wifiManager.<span style="color:#ffc66d">WifiScanInfo</span>[] | <span style="color:#6897bb">null</span>> {let <span style="color:#cc7832">val</span> = await wifiToolKit.oneKeySc()<span style="color:#cc7832">return</span> <span style="color:#cc7832">val</span>;}<span style="color:grey">// ...视情况重写其他数据回传接口</span>
}
</code></span></span>

通过隐私提交接口设置 MobCustomController 实例

<span style="background-color:#42475a"><span style="color:#a9b7c6"><code class="language-typescript">MobSDK.submitPolicyGrantResult(true, new MyCustomController());
</code></span></span>

注意:通过隐私提交接口设置 MobCustomController 实例时,必须每次启动 APP 时,均调用该接口进行设置。若您的 APP 并非每次启动都会调用隐私提交接口,也可以通过 MobSDK.updateMobCustomController() 接口进行设置。

(可选)通过 updateMobCustomController() 接口设置 MobCustomController 实例

<span style="background-color:#42475a"><span style="color:#a9b7c6"><code class="language-typescript">MobSDK.updateMobCustomController(new MyCustomController())
</code></span></span>

updateMobCustomController()接口调用时机说明:

  • 建议在应用启动时尽快调用该接口,比如AppAbility.onCreate()中
  • 该接口必须每次启动都调用

http://www.mrgr.cn/news/5598.html

相关文章:

  • uniapp实现应用内检测版本更新(Android直接下载/ios跳转app store)
  • 怎麼在不同系統(Windows、Mac)和流覽器(Google、Firefox)切換代理IP
  • 工厂模式和策略模式区别
  • 电力调度控制台作为智能电网的中枢大脑,引领能源高效调度新时代
  • Redis配置及idea部分操作
  • 深度学习加速秘籍:PyTorch torch.backends.cudnn 模块全解析
  • c语言杂谈系列:模拟虚函数
  • verilog实现STFT
  • 第七届强网杯-PWN-【WTOA】
  • 深夜小灶|如何利用comfyUI生成《黑神话:悟空》风格的建筑效果图
  • LeetCode面试题Day15|LC219 存在重复元素Ⅱ、LC229 汇总区间
  • [RCTF2015]EasySQL1
  • Kuberneters Pod调度基础
  • sqlite blob 数据检索(基于sqlite3_get_table的优化)
  • 如何将TRIZ技术融入到智能家居的产品设计流程中?
  • 【图文并茂】ant design pro 如何优雅奇妙地让创建和更新页面共用一个 form
  • 0x01 GlassFish 任意文件读取漏洞复现
  • 使用 Python和 FFmpeg 批量截图视频到各自文件夹中
  • 【Fiddler】Fiddler抓包工具(详细讲解)_抓包工具fiddler
  • Pulsar官方文档学习笔记——架构概览