写点什么

MobPush 扩展业务功能设置

  • 2024-08-23
    上海
  • 本文字数:1793 字

    阅读完需:约 6 分钟

扩展业务说明

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

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

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

  • 生成用户画像;

  • 合并链路服务。

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

配置方法

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

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

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

/** * 用于判断是否允许SDK主动采集经纬度信息 * * @return true表示SDK可以自行采集经纬度信息,false表示不可以,默认为true */public isLocationDataEnable(): boolean {  return true;}
/** * 当SDK被拒绝自行采集经纬度信息后,会通过此方法向App请求经纬度数据 * * @return 包含了经纬度信息的Location对象,如果返回null则表示不提供经纬度信息 */public async getLocation(): Promise<geoLocationManager.Location | null> { return null;}
复制代码
  • 当上述数据开关接口返回 true 时,MobPush 被允许自行获取相应数据;

  • 当上述开关接口返回 false 时,MobPush 被禁止自行获取相应数据,仅允许向 App 请求相应数据。此时 App 可选择是否回传相应数据。

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

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

/** * 用于判断是否允许SDK主动采集WIFI信息 * * @return true表示SDK可以自行采集WIFI信息,false表示不可以,默认为true */public isWifiDataEnable(): boolean {  return true;}
/** * 当SDK被拒绝自行采集WIFI信息后,会通过此方法向App请求WIFI数据 * * @return 包含了WIFI信息的WifiLinkedInfo对象,如果返回null则表示不提供WIFI信息 */public async getWifiLinkedInfo(): Promise<wifiManager.WifiLinkedInfo | null> { return null;}
/** * 当SDK被拒绝自行采集WIFI信息后,会通过此方法向App请求WIFI列表 * * @return WIFI扫描结果列表,如果返回null则表示不提供经WIFI列表信息 */public async getWifiScanResults(): Promise<wifiManager.WifiScanInfo[] | null> { return null;}
复制代码
  • 当上述数据开关接口返回 true 时,MobPush 被允许自行获取相应数据;

  • 当上述开关接口返回 false 时,MobPush 被禁止自行获取相应数据,仅允许向 App 请求相应数据。此时 App 可选择是否回传相应数据。

其它配置

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

接入方法

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

示例代码:

export class MyCustomController extends MobCustomController {  public isWifiDataEnable(): boolean {    return false;  }
// ...视情况重写其他数据开关接口
public async getWifiLinkedInfo(): Promise<wifiManager.WifiLinkedInfo | null> { let val: wifiManager.WifiLinkedInfo | null = await wifiToolKit.getWInfo() return val; }
public async getWifiScanResults(): Promise<wifiManager.WifiScanInfo[] | null> { let val = await wifiToolKit.oneKeySc() return val; }
// ...视情况重写其他数据回传接口}
复制代码

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

MobSDK.submitPolicyGrantResult(true, new MyCustomController());
复制代码

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

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

MobSDK.updateMobCustomController(new MyCustomController())
复制代码

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

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

  • 该接口必须每次启动都调用

发布于: 刚刚阅读数: 5
用户头像

还未添加个人签名 2019-05-08 加入

还未添加个人简介

评论

发布
暂无评论
MobPush扩展业务功能设置_开发者_MobTech袤博科技_InfoQ写作社区