mobcommonlib是MobTech公司旗下6大SDK(ShareSDK、SMSSDK、MobLink、MobPush、秒验、Mob云验证)的Android平台都需要依赖的一个基础组件库。mobcommonlib组件库内封装了网络访问、debug日志打印、统一弹窗管理等具有高度重合性、统一性的功能。
以前使用mobtools的插件,可使用此插件替代。
根据国家法律法规要求,开发者在使用MobTech提供的各SDK产品时,需向终端用户展示MobTech的隐私服务协议,并获取用户的授权。从2020年2月12日开始,Mob所有SDK产品将引入隐私协议功能,YonBuilder移动开发平台下的隐私相关接口,在本文档中描述。
注意:请所有开发者务必按照本文档接入MobTech隐私服务流程,否则可能造成无法使用MobTech各SDK提供的相关服务。
MobTech隐私流程中,主要包含“隐私协议授权”与“隐私协议二次确认”功能,涉及到以下几个接口:
在使用Mob任意SDK前,需首先引入mobcommonlib工具库。以SMSSDK为例:
var mobcommonlib = null;
var moduleSMSSDK = null;
apiready = function(){
mobcommonlib = api.require('mobcommonlib');
moduleSMSSDK = api.require('smssdk');
}
开发者需要首先展示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接口前,调用该接口进行设置,否则不生效。
// 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接口前,调用该接口进行设置,否则不生效。