扩展业务说明
ShareSDK提供的扩展业务功能为:

通过进行地理维度的统计以实现更为精细化的运营;
生成脱敏的终端用户设备唯一性标识;
实现网络链路的选择与优化、检测并实现与特定区域相关的服务;
合并链路服务。
其中鸿蒙端支持上述第一个、第二个和第三个功能。ShareSDK为开发者提供退出上述功能的接口,开发者可以调用接口,向最终用户提供退出的能力。最终用户退出上述功能后,ShareSDK依然可以为您终端用户提供第三方登录和社会化分享。开发者需遵守相关法律法规的要求,在App内为最终用户提供退出上述扩展业务的功能,并保证在最终用户点击退出功能后能正常调用ShareSDK的能力接口。

配置方法
应用若需要控制ShareSDK扩展业务功能进行配置,只需要基于 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 时,ShareSDK 被允许自行获取相应数据;
当上述开关接口返回 false 时,ShareSDK 被禁止自行获取相应数据,仅允许向 App请求相应数据。此时 App可选择是否回传相应数据。
生成脱敏的终端用户设备唯一性标识
此功能依赖数据项包括:设备标识信息。MobCustomController 类中与之对应的开关和数据回传方法列表如下:

/**

  • 用于判断是否允许SDK主动采集OAID信息
    *
  • @return true表示SDK可以自行采集OAID信息,false表示不可以,默认为true
    */

public isOaidEnable(): boolean {
return true;
}

/**

  • 当SDK被拒绝自行采集OAID信息后,会通过此方法向App请求OAID
    *
  • @return OAID,如果返回null则表示不提供OAID信息
    */

public async getOaid(): Promise<string | null> {
return null;
}
当上述数据开关接口返回 true 时,ShareSDK 被允许自行获取相应数据;
当上述开关接口返回 false 时,ShareSDK 被禁止自行获取相应数据,仅允许向 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 时,ShareSDK 被允许自行获取相应数据;
当上述开关接口返回 false 时,ShareSDK 被禁止自行获取相应数据,仅允许向 App请求相应数据。此时 App可选择是否回传相应数据。
其它配置
其它 App数据采集主动控制器的配置方法,可参考链接

接入方法
继承MobCustomController,重写内部成员方法
示例代码:

export class MyCustomController extends MobCustomController {
isOaidEnable(): boolean {

return false;

}

public isWifiDataEnable(): boolean {

return false;

}

// ...视情况重写其他数据开关接口

public getOaid(): string | null {

return "test-oaid";

}

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()中
该接口必须每次启动都调用


中关村科金
136 声望13 粉丝

北京中关村科金技术有限公司(简称“中关村科金”)是国内领先的对话式AI技术解决方案提供商,成立于2014年,注册资本14亿元,总部位于北京,在上海、重庆、深圳、杭州、成都等地设有分支机构,公司规模近千人,其...