mobcommonlib

立即使用

概述

mobcommonlib是MobTech公司旗下6大SDK(ShareSDK、SMSSDK、MobLink、MobPush、秒验、Mob云验证)的Android平台都需要依赖的一个基础组件库。mobcommonlib组件库内封装了网络访问、debug日志打印、统一弹窗管理等具有高度重合性、统一性的功能。

以前使用mobtools的模块,可使用此模块替代。

根据国家法律法规要求,开发者在使用MobTech提供的各SDK产品时,需向终端用户展示MobTech的隐私服务协议,并获取用户的授权。从2020年2月12日开始,Mob所有SDK产品将引入隐私协议功能,APICloud平台下的隐私相关接口,在本文档中描述。

注意:请所有开发者务必按照本文档接入MobTech隐私服务流程,否则可能造成无法使用MobTech各SDK提供的相关服务。

MobTech隐私服务流程接入指导

MobTech隐私流程中,主要包含“隐私协议授权”与“隐私协议二次确认”功能,涉及到以下几个接口:

  • 向终端用户展示MobTech隐私协议,并回传用户授权结果
  • 隐私二次确认框开关设置
  • 自定义隐私二次确认框UI
  • 查询MobTech隐私协议内容

初始化mobcommonlib

在使用Mob任意SDK前,需首先引入mobcommonlib工具库。以SMSSDK为例:

var mobcommonlib = null;
var moduleSMSSDK = null;
apiready = function(){
        mobcommonlib = api.require('mobcommonlib');
      moduleSMSSDK = api.require('smssdk');
}

隐私协议授权

展示MobTech隐私协议

开发者需要首先展示MobTech隐私条款,建议可通过以下方式展示:

  • 将MobTech隐私协议的URL嵌入app自身隐私协议描述中
  • 在app隐私协议授权框的显著位置添加MobTech隐私协议标题,点击可查看协议内容
  • 在app自身隐私协议中嵌入MobTech隐私协议内容
查询隐私协议

隐私协议查询接口可提供两种类型:富文本/URL。开发者可根据需要选择:

// param中的key命名不能改变,{1:URL,2:富文本}
var param = {type:1};
mobcommonlib.getPrivacyPolicyAsync(param, function(ret, err){
      if (err !== null && err !== undefined && err !== '') {
          // 错误消息示例:{"msg":"MobTech policy not granted.","code":600}
          alert(eTitle + JSON.stringify(err));
      } else {
          // 正常消息示例:{"content":"http://www.mob.com/privacy/policy/index.html", "title":"服务协议", "ppVersion":1, "timestamp":23124353131}
          alert(sTitle + JSON.stringify(ret));
      }
});
提交隐私协议授权结果

用户做出隐私授权操作(无论接收还是拒绝)后,都需要将授权结果回传给SDK,否则将可能造成无法使用MobTech提供的各SDK服务的问题。

// param中的key命名不能改变,{true:同意,false:拒绝}
var param = {granted:rst};
mobcommonlib.submitPolicyGrantResult(param, function(ret, err){
    if (err !== null && err !== undefined && err !== '') {
        // 错误消息示例:{"msg":"Service not found.","code":404}
        alert(eTitle + JSON.stringify(err));
    } else {
        // 正常消息示例:{"result":"success"}
        alert(sTitle + JSON.stringify(ret));
    }
});

隐私二次确认框

在以下情况下,个别接口会默认向用户展示隐私协议二次确认框:

  • 开发者未反馈用户隐私协议授权结果
  • 用户拒绝隐私协议

我们同时提供了接口,由开发者设置是否允许展示该弹框。

该弹框有默认样式,我们同样提供了接口,由开发者自定义该弹框的UI样式。

隐私二次确认框开关设置
// param中的key命名不能改变,{true:同意,false:拒绝}
var param = {allowDialog:true};
mobcommonlib.setAllowDialog(param);

注意:必须在使用SDK接口前,调用该接口进行设置,否则不生效。

自定义隐私二次确认框UI
// param中的key命名不能改变,{bgColor:弹框背景色名称,acceptColor:同意按钮背景色名称,rejectColor:拒绝按钮背景色名称}
// 目前支持颜色值有:white,black,blue,red,holo_green_light,holo_gray_light,holo_orange_light,holo_purple
var param = {bgColor:"white", acceptColor:"holo_orange_light", rejectColor:"holo_green_light"};
mobcommonlib.setPolicyUi(param);

注意:必须在使用SDK接口前,调用该接口进行设置,否则不生效。