Skip to content

隐私设置

ToBid 聚合SDK提供的广告服务均满足国家相关法律规定如《个人信息保护法》、《数据安全法》等要求的信息采集规范。开发者仅需依照文档调用 ToBid 提供的隐私接口即可将对应的隐私配置信息同步到应用内集成使用的全部广告SDK。

1. 未成年设置

java
WindMillAd ads = WindMillAd.sharedAds();

ads.setAdult(true);//是否成年(可选)

2. 个性化推荐设置

java
WindMillAd ads = WindMillAd.sharedAds();

ads.setPersonalizedAdvertisingOn(true);//是否开启个性化推荐接口(可选)

3. GDPR授权设置

java
WindMillAd ads = WindMillAd.sharedAds();

/*  欧盟区域请设置GDPR相关授权状态
 *  WindMillConsentStatus 值说明:
 *     UNKNOW("0"),  //未知,默认值,根据服务器判断是否在欧盟区,若在欧盟区则判断为拒绝GDPR授权
 *     ACCEPT("1"),  //用户同意GDPR授权
 *     DENIED("2");  //用户拒绝GDPR授权
 */
ads.setUserGDPRConsentStatus(WindMillConsentStatus.ACCEPT);

4. COPPA授权设置

java
WindMillAd ads = WindMillAd.sharedAds();

ads.setUserGDPRConsentStatus(WindConsentStatus.ACCEPT);

/*
 *  如若涉及儿童隐私保护相关协议,请设置是否为受限制用户
 *  WindAgeRestrictedStatusUNKNOWN 未知,默认值
 *  WindAgeRestrictedStatusNO 不限制
 *  WindAgeRestrictedStatusYES 有限制
 *
 *  setUserAge 设置用户年龄
 */
ads.setIsAgeRestrictedUser(WindMillUserAgeStatus.WindAgeRestrictedStatusYES);
ads.setUserAge(18);

5. 设备隐私信息控制设置

java
WindMillAd ads = WindMillAd.sharedAds();

ads.startWithAppId(this, appId, new WMAdConfig.Builder().customController(new WMCustomController() {
    /**
     * 是否允许SDK主动使用地理位置信息
     *
     * @return true可以获取,false禁止获取。默认为true
     */
    @Override
    public boolean isCanUseLocation() {
        return super.isCanUseLocation();
    }

    /**
     * 当isCanUseLocation=false时,可传入地理位置信息,ToBid使用您传入的地理位置信息
     *
     * @return 地理位置参数
     */
    @Override
    public Location getLocation() {
        return super.getLocation();
    }

    /**
     * 是否允许SDK主动使用手机硬件参数,如:imei
     *
     * @return true可以使用,false禁止使用。默认为true
     */
    @Override
    public boolean isCanUsePhoneState() {
        return super.isCanUsePhoneState();
    }

    /**
     * 当isCanUsePhoneState=false时,可传入imei信息,ToBid使用您传入的imei信息
     *
     * @return imei信息
     */
    @Override
    public String getDevImei() {
        return super.getDevImei();
    }

    /**
     * 是否允许SDK主动使用手机硬件参数,如:android
     *
     * @return true可以使用,false禁止使用。默认为true
     */
    @Override
    public boolean isCanUseAndroidId() {
        return super.isCanUseAndroidId();
    }

    /**
     * isCanUseAndroidId=false时,可传入android信息,ToBid使用您传入的android信息
     *
     * @return android信息
     */
    @Override
    public String getAndroidId() {
        return super.getAndroidId();
    }

    /**
     * 开发者可以传入oaid
     *
     * @return oaid
     */
    @Override
    public String getDevOaid() {
        return super.getDevOaid();
    }

    /**
     * 是否允许获取oaid
     */
    @Override
    public boolean isCanUseOaid() {
        return super.isCanUseOaid();
    }

    /**
     * 是否允许SDK主动获取设备上应用安装列表的采集权限
     *
     * @return true可以使用,false禁止使用。默认为true
     */
    @Override
    public boolean isCanUseAppList() {
        return super.isCanUseAppList();
    }

    /**
     * isCanUseAppList=false时,可传入手机安装包信息,ToBid使用您传入的包信息
     *
     * @return 默认为null
     */
    public List<PackageInfo> getInstalledPackages() {
        return super.getInstalledPackages();
    }

    /**
     * 是否允许SDK主动使用ACCESS_WIFI_STATE权限
     *
     * @return true可以使用,false禁止使用。默认为true
     */
    @Override
    public boolean isCanUseWifiState() {
        return super.isCanUseWifiState();
    }

    /**
     * 可传入MacAddress,ToBid使用您传入的MacAddress信息
     *
     * @return MacAddress参数
     */
    @Override
    public String getMacAddress() {
        return super.getMacAddress();
    }

    /**
     *  是否允许获取MacAddress信息
     */
    @Override
    public boolean isCanUseMacAddress() {
        return super.isCanUseMacAddress();
    }

    /**
     * 是否允许SDK主动使用WRITE_EXTERNAL_STORAGE权限
     *
     * @return true可以使用,false禁止使用。默认为true
     */
    @Override
    public boolean isCanUseWriteExternal() {
        return super.isCanUseWriteExternal();
    }

    /**
     * 是否允许SDK在申明和授权了的情况下使用录音权限
     * return true 允许 false 不允许
     *
     * @return
     */
    @Override
    public boolean isCanUsePermissionRecordAudio() {
        return super.isCanUsePermissionRecordAudio();
    }


}).build());

隐私政策相关配置

隐私政策场景

应用上架应用市场审核比较严格,应用市场会根据应用类型(工具、游戏等)审核应用可以获取的权限,如果不符合规范会被通知责令修改。下面主要介绍下平台审核严格的几个权限如何配置关闭。

开发者如遇到隐私权限修改通知,请仔细阅读整改通知书。

通知书内容:【APP未向用户明示SDK的收集使用规则、未经用户同意,SDK在静默状态下或在后台运行时,SDK获取了某某权限】

1.开发者可以检查下自己的隐私政策中是否有申请披露的权限,如果没有声明可以增加声明解决

2.询问渠道审核客服或是应用市场的隐私条款,明确修改方案

隐私政策权限控制

ToBid隐私设置文档:接口成对儿调用,首先接口获取设置成false,然后开发者自己传入。ToBid会把配置信息透传给初始化的渠道,告知渠道不获取,如果遇到无法关闭的某个权限的问题请参考隐私设置

应用列表

隐私设置接口配置关闭后无法彻底关闭的渠道,需要联系渠道运营或是客服进行配置关闭

广告网络需要信息
优量汇需要提供堆栈信息+应用ID
百度需要提供堆栈信息+应用ID
Sigmob直接联系渠道运营关闭

应用安装、卸载监听

隐私设置没有控制接口,下面为已知的关闭方案

广告网络解决方案
Sigmob联系运营配置关闭
快手联系运营配置关闭
广点通全局对象开发者直接调用可关闭
Map params = new HashMap<>();
params.put("hieib", false);
GlobalSetting.setConvOptimizeInfo(params);

可以在初始化前调用来关闭
百度不是全局配置需要在ToBid onNetworkInitBefore(初始化前)监听里面进行配置关闭,具体查看代码块
BDAdConfig bdAdConfig = new BDAdConfiq.Builder()
.putExtraParam("pk_change rc","false")
.putExtraParam("mi market rc","false")


ads.setNetworkInitListener(new WMNetworkInitListener() {
            @Override
            public void onNetworkInitBefore(int channel_id, Object initInstance) {
                Log.d("Sigmob", "----------onNetworkInitBefore----------" + channel_id);
                switch (channel_id) {
                    case WMNetworkConfig.BAIDU:
                        if (initInstance instanceof BDAdConfig.Builder) {
                            BDAdConfig.Builder builder = (BDAdConfig.Builder) initInstance;
                            builder.putExtraParam("pk_change_rc", "false");
                            builder.putExtraParam("mi_market_rc", "false");
                        }
                        break;
                    case WMNetworkConfig.TOUTIAO:
                    break;
                }
            }

            @Override
            public void onNetworkInitSuccess(int adn_id) {
                Log.d("Sigmob", "----------onNetworkInitSuccess----------" + adn_id);
            }

            @Override
            public void onNetworkInitFailed(int adn_id, int code, String error) {
                Log.d("Sigmob", "----------onNetworkInitFailed----------" + adn_id + ":" + code + ":" + error);
            }
        });

位置权限

隐私设置接口无法彻底关闭的渠道需要联系渠道运营进行配置

广告网络解决方案
广点通全局对象,调用这个接口关闭粗略位置信息获取
初始化前传false(老版本的优量汇SDK需要配置 新版本不需要特殊配置)
Map<String,Boolean> params = new HashMap();
params.put("cell_id", false);
GlobalSetting.setAgreeReadPrivacyInfo(params);

Sigmob联系渠道运营配置关闭

WIFI网络IP获取

广告网络解决方案
优量汇SDK目前支持禁用WIFI网络IP获取,具体禁用方式为:
Map<String,Boolean> params = new HashMap<>(); 
params.put("wipaddr", false);
GlobalSetting.setAgreeReadPrivacyInfo(params);

传感器

广告网络解决方案
优量汇Android:全局对象
调用GlobalSetting中setExtraUserData(Map<String, String> extraUserData)方法,
传入key为“sensor_ts”, value为“0”:关闭传感器,value为“1”:使用传感器;

ICCID

广告网络说明
优量汇不获取
Sigmob不获取
百度不获取
趣盟不获取
快手
//是否允许SDK主动使用手机硬件参数,如:imei,android id,meid,imsi,iccid兴 @return true可以使用,false禁止使用。默认为true 
public boolean canUsePhoneState() {
return super.canUsePhoneState();
}
穿山甲Android调用
public boolean isCanUsePhoneState() {
//return true可以采集手机硬件信息(如IMEI、IMSI、ICCID、GAID(仅GMS服务)、MEID、硬件序列号build_serial及Mac地址),false禁止使用。默认为true
return true;
}

关闭优量汇 getConnectinInfo API

广告网络解决方案
优量汇可以在初始化前调用接口
Android SDK 版本大于等于 1420
Map<String,Boolean> params = new HashMap<>(); 
params.put("wipaddr", false);
GlobalSetting.setAgreeReadPrivacyInfo(params);

穿山甲SDK后台运行时获取了设备IP

广告网络解决方案
穿山甲解决方案:更新穿山甲SDK到72..以上,调用穿山甲如下接口:
@Override 
public Map<String, Object> userPrivacyConfig() {
GlobalSetting.setAgreeReadPrivacyInfo(params);
}