联盟SDK合规使用说明
请开发者在接入和使用OPPO广告联盟SDK前,按照本说明要求在您的隐私政策政策中向最终用户告知SDK相关信息,并获取用户的同意或取得其他合法性基础。同时,您也可以根据您应用实际情况按需做隐私合规配置。
一、 SDK处理的个人信息
为了向开发者和其最终用户提供本SDK和服务,我们会处理(包括但不限于收集、使用、传输、存储)服务所需要的个人信息,以及为最终用户提供行使权利的途径,详情请见)OPPO广告联盟SDK个人信息保护政策
开发者在接入和使用OPPO广告联盟SDK前,请在集成SDK的应用隐私政策中向最终用户告知我们SDK的名称、公司名称、收集个人信息种类、使用目的、隐私政策链接,并获取用户的同意或取得其他合法性基础。您可以参照以下方式将OPPO广告联盟SDK相关信息加入到您应用的隐私政策:
SDK名称:OPPO广告联盟SDK
公司名称:深圳市欢太科技有限公司
收集个人信息种类:设备信息(设备制造商、设备型号、系统版本、安卓版本),标识符信息(OAID、DUID、Android_ID),应用信息(应用名称、应用包名、应用版本号、软件安装列表),地理位置信息(粗略定位信息,精确定位信息),传感器信息,WiFi信息
使用目的:广告投放,监测归因,广告反作弊
隐私政策链接:https://u.oppomobile.com/main/privacy.html
当您在OPPO广告联盟官网咨询我们有关联盟的问题时,我们可能会收集您主动提交的公司主体名称、联系人姓名、联系电话、邮箱地址、主营产品类型、主营产品名称和咨询内容,我们收集上述信息以便我们与您取得联系并进一步回答您的咨询。
二、 SDK权限说明
如果开发者需要使用OPPO广告联盟SDK功能,请在集成SDK的应用隐私政策中向最终用户告知我们SDK调用设备权限名称、对应业务功能或服务、以及调用权限目的,并在应用使用到对应业务功能或服务时向用户弹框申请授权。您可以参照以下方式加入您应用的隐私政策:
调用设备权限名称 | 对应业务功能或服务 | 调用权限目的 |
---|---|---|
访问粗略位置 | 广告投放、反作弊 | 精准广告投放及反作弊 |
访问精确位置 | 广告投放、反作弊 | 广告投放及反作弊 |
读取外部存储空间 | 素材展示、应用下载 | 广告素材读取及应用下载类广告投放 |
写入外部存储空间 | 素材展示、应用下载 | 广告素材读取及应用下载类广告投放 |
获取应用安装列表 | 广告投放 | 应用下载广告投放 |
请求安装应用 | 广告投放 | 应用下载广告投放 |
三、 SDK合规配置说明
建议开发者通过弹框提前向用户获取OPPO广告联盟SDK扩展功能与可选个人信息授权,并根据用户授权内容通过以下方式配置关闭扩展功能与可选个人信息采集。
1.SDK各项扩展业务功能介绍及对应关闭的配置方式、示例
扩展业务功能 | 介绍 | 对应关闭的配置方式 | 示例 |
---|---|---|---|
个性化广告 | 根据用户过去的行为和兴趣投放广告 | 初始化时调用setAppOUIDStatus控制 | public InitParams.Builder setAppOUIDStatus(boolean isOpen) 个性化开关;true-开启个性化开关,false-关闭个性化开关 |
2.SDK各项可选个人信息使用目的、场景及对应关闭的配置方式、示例
扩展业务功能下可选个人信息类型 | 使用目的、场景 | 对应关闭的配置方式 | 示例 |
粗略位置信息 | 广告投放 | 初始化时调用传入MobCustomController,通过isCanUseLocation控制 |
isCanUseLocation 是否允许SDK采集经纬度 返回值: true:允许sdk采集 false:不允许sdk采集,可以通过getLocation接口由媒体传入 |
精确位置信息 | 广告投放 | ||
传感器信息 | 广告投放、反作弊 | 联系OPPO运营配置关闭 | 联系OPPO运营配置关闭 |
软件列表信息 | 广告投放 | 初始化时调用传入MobCustomController,通过alist控制 |
alist 是否允许采集应用已安装列表 true:允许sdk采集 false:不允许sdk采集 |
存储空间大小 | 广告素材读取、存储及应用下载类广告投放 | 初始化时调用传入MobCustomController,通过isCanUseWriteExternalt控制 |
isCanUseWriteExternal 是否允许采集外部存储 true:允许sdk采集 false:不允许sdk采集 |
设备标识(IMSI,ICCID,Android Id,设备SN码) | 广告投放及广告监测归因、反作弊 | 初始化时调用传入MobCustomController,通过isCanUsePhoneState控制 |
isCanUsePhoneState 是否允许SDK采集唯一标识(serialId、imsi、imei、iccid) true:允许sdk采集 false:不允许sdk采集 isCanUseAndroidId 是否允许采集AndroidId true:允许sdk采集 false:不允许sdk采集,可以通过getAndroidId接口由媒体传入 |
WiFi信息(MAC地址,ssid,bssid) | 广告反作弊 | 初始化时调用传入MobCustomController,通过isCanUseWifiState控制 |
isCanUseWifiState 是否允许采集网络相关(mac、bssid、ssid) true:允许sdk采集 false:不允许sdk采集,可以通过getMacAddress接口由媒体传入 |
四、 SDK延迟初始化
请开发者在集成SDK的应用获取最终用户同意后才能调用OPPO广告联盟接口初始化SDK,以避免SDK提前收集使用个人信息。
SDK初始化方式示例如下,最新方法请参考接入文档
在应用的Application或者应用的入口/主Activity的onCreate()方法里面调用下面的函数:
InitParams initParams = new InitParams.Builder()
.setDebug(true)
//true打开SDK日志,当应用发布Release版本时,必须注释掉这行代码的调用,或者设为false
.build();
/**
* 调用这行代码初始化广告SDK
*/
MobAdManager.getInstance().init(this, Constants.APP_ID, initParams);
MobAdManager主要API
- com.heytap.msp.mobad.api.MobAdManager:
方法名 | 方法介绍 |
---|---|
getInstance() | 获取MobAdManager单例对象 |
init(Context context, String appId) throws NullPointerException | 初始化SDK; 该方法必须在初始化广告对象之前调用; 建议在Application的onCreate中初始化,该方法只需要调用一次即可 |
public void init(Context context, String appId, IInitListener iInitListener) throws NullPointerException | 初始化SDK; 该方法必须在初始化广告对象之前调用; 建议在Application的onCreate中初始化,该方法只需要调用一次即可 |
public void init(Context context, String appId, IInitListener iInitListener) throws NullPointerException | 初始化SDK; 该方法必须在初始化广告对象之前调用; 建议在Application的onCreate中初始化,该方法只需要调用一次即可 |
public void init(Context context, String appId, InitParams initParams, IInitListener iInitListener) throws NullPointerException | 初始化SDK; 该方法必须在初始化广告对象之前调用; 建议在Application的onCreate中初始化,该方法只需要调用一次即可 |
getSdkVerCode() | 获取SDK版本号 |
getSdkVerName() | 获取SDK版本名称 |
exit(Context context) throws NullPointerException | 退出应用时调用、释放SDK资源 |
- com.heytap.msp.mobad.api.InitParams.Builder:
方法名 | 方法介绍 |
---|---|
public InitParams.Builder setDebug(Boolean debug) | true打开SDK日志,当应用发布Release版本时,必须注释掉这行代码的调用,或者设为false |
public InitParams.Builder setTouristMode(boolean touristMode) | 设置游客模式, 工信部要求在用户同意隐私合规之前不允许调用隐私接口,如果同意前需要出广告,可以设置true开启游客模式不获取; 不调用或者设置false表示不开启,设置true表示开启游客模式,注意开启游客模式会影响广告效果,若用户已同意协议请关闭游客模式 |
public InitParams.Builder setClassifyByAgeProvider(ClassifyByAgeProvider classifyByAgeProvider) | 设置儿童模式;不设置默认UNKNOWN |
public InitParams.Builder setAppOUIDStatus(boolean isOpen) | 个性化开关;true-开启个性化开关,false-关闭个性化开关 |
public InitParams.Builder setMobCustomController(MobCustomController controller) | 个人信息控制器 |
- com.heytap.msp.mobad.api.MobCustomController:
方法名 | 方法介绍 |
---|---|
public String getDevImei() | sdk不再采集imei,由媒体支持传入imei,有效的imei可提升广告效果 |
public boolean isCanUseLocation | 是否允许SDK采集经纬度 返回值: true:允许sdk采集 false:不允许sdk采集,可以通过getLocation接口由媒体传入 |
public Location getLocation() | 返回location对象,包含经度、纬度,在isCanUseLocation()关闭时使用 |
public boolean isCanUsePhoneState | 是否允许SDK采集唯一标识(serialId、imsi、imei、iccid) true:允许sdk采集 false:不允许sdk采集 |
public boolean isCanUseAndroidId | 是否允许采集AndroidId true:允许sdk采集 false:不允许sdk采集,可以通过getAndroidId接口由媒体传入 |
public String getAndroidId() | 媒体传入真实AndroidId,在isCanUseAndroidId关闭时使用 |
public boolean isCanUseWifiState | 是否允许采集网络相关(mac、bssid、ssid) true:允许sdk采集 false:不允许sdk采集,可以通过getMacAddress接口由媒体传入 |
public String getMacAddress() | 传入真实mac地址,在isCanUseWifiState()关闭时使用 |
public boolean isCanUseWriteExternal | 是否允许采集外部存储 true:允许sdk采集 false:不允许sdk采集 |
public boolean alist | 是否允许采集应用已安装列表 true:允许sdk采集 false:不允许sdk采集 |