Initialize

0. GDPR (General Data Protection Regulation)

GDPR是欧盟(以下简称“EU”)的个人信息保护法规,服务提供者在收集和使用欧盟用户的个人信息或等同信息时,必须确认用户是否同意。这是为遵守GDPR规定并使广告网络按规定运行所需的程序。

1. Initialize & GDPR Content UI

初始化时提供可处理并获取欧盟用户GDPR同意的相关功能。在 Main Activity 的 onCreate中,在请求与广告相关的代码之前调用初始化函数。

  • "<ADX_APP_ID>"中使用 ADX 下发的 ADX App ID

  • SDK 初始化请在应用运行时只调用一次,并且 广告请求必须在初始化完成后进行。

    • onCompleted被调用后,才应该请求广告。

  • GdprType 请从下列项中选择并输入。

GDPR 类型

说明

POPUP_LOCATION

根据地区弹出同意提示(EU地区)

POPUP_DEBUG

不论地区均弹出同意提示以供测试(DEBUG)

DIRECT_NOT_REQUIRED

无需同意的地区(EU 以外地区)

DIRECT_DENIED

用户拒绝个人信息的使用与收集

DIRECT_CONFIRM

用户同意个人信息的使用与收集

Case 1. 向 EEA 用户提供 GDPR 同意界面

为欧洲经济区(European Economic Area)用户提供可选择是否同意的同意界面。

  • ADXConfiguration中将 GdprType 设置为 POPUP_LOCATION时,根据用户登陆的筛选后,通过 Consent UI向EU用户获取GDPR同意与否。

  • 将 GdprType 设置为 POPUP_DEBUG时,不论从任何国家登入,均可查看 Consent UI。

// 与 ADX 初始化相关的设置
ADXConfiguration adxConfiguration = new ADXConfiguration.Builder()
                        .setAppId("<ADX_APP_ID>")
                        .setGdprType(ADXConfiguration.GdprType.POPUP_LOCATION)
                        .setTestDeviceIds(Arrays.asList("")) // UMP Test Device
                        .build();

ADXSdk.getInstance().initialize((Activity) this, adxConfiguration, new ADXSdk.OnInitializedListener() {
        @Override
        public void onCompleted(boolean result, ADXGDPR.ADXConsentState adxConsentState) {
                // 广告初始化完成
        }
});

若要测试查看 AdMob UMP 的 GDPR 同意界面,需进行以下两项设置。 下面需进行两项设置。

1) 前往 AdMob 控制台(https://apps.admob.com),按以下 GDPR 消息编写指引完成消息的编写与发布。 https://support.google.com/admob/answer/10113207?hl=zh-Hans


2) 在日志中确认下列设备 ID。将此标识字符串作为 在 ADXConfiguration 对象创建时使用的 setTestDeviceIds 参数输入, 并在 setGdprType 参数中输入 POPUP_DEBUG。 Use new ConsentDebugSettings.Builder().addTestDeviceHashedId("33BE2250B43518CCDA7DE426D04EE231") to set this as a debug device.

<UMP GDPR 同意界面>

Case 2. 直接设置同意状态

如果不存在欧洲经济区(European Economic Area)用户,或应用内并未收集 GDPR 所定义的等同于个人信息的信息, 则需要像在韩国进行推送通知同意、隐私政策同意等一样,单独进行并处理直接同意流程。请单独进行处理。

  • 若为非 EU 地区且无需同意,请再ADXConfiguration中的 GdprType 设置为DIRECT_NOT_REQUIRED

  • 若在 EU 地区直接进行同意流程,请根据同意流程结果设置 GdprType。

    • 用户已同意个人信息的使用与收集状态: DIRECT_CONFIRM

    • 用户拒绝个人信息的使用与收集状态: DIRECT_DENIED

// 与 ADX 初始化相关的设置
ADXConfiguration adxConfiguration = new ADXConfiguration.Builder()
                        .setAppId("<ADX_APP_ID>")
                        .setGdprType(ADXConfiguration.GdprType.DIRECT_CONFIRM)
                        .build();

ADXSdk.getInstance().initialize((Activity) this, adxConfiguration, new ADXSdk.OnInitializedListener() {
        @Override
        public void onCompleted(boolean result, ADXGDPR.ADXConsentState adxConsentState) {
                // 广告初始化完成
        }
});

2. Native 广告初始化

在同一个 Activity 中调用初始化函数和 Native Ad 函数的情况

调用初始化函数之前, 必须先调用 AdxNativeAdFactoryinit()setAdxViewBinder()。初始化函数调用后,需在 OnInitializedListener 的的 onCompleted 中调用 AdxNativeAdFactory.preloadAd()。

AdxNativeAdFactory.init(this);

AdxNativeAdFactory.setAdxViewBinder("<NATIVE_AD_UNIT_ID>", new AdxViewBinder.Builder(R.layout.layout_media_native_ad)
        .mediaViewContainerId(R.id.mediaContainerId)
        .iconImageId(R.id.adIconId)
        .titleId(R.id.titleId)
        .adChoiceContainerId(R.id.adChoicesContainerId)
        .callToActionId(R.id.callToActionId)
        .build());

有关 Native Ad 的实现方法,请参阅该页面

3. ConsentState

GDPR的同意与否有4种状态值。

状态

说明

ADXConsentStateUnknown

表示用户无同意信息,在此状态下不会展示个性化广告。

ADXConsentStateNotRequired

无需同意的地区(EU 以外地区)

将展示个性化广告。

ADXConsentStateDenied

用户拒绝个人信息的使用与收集的状态

不会展示个性化广告。

ADXConsentStateConfirm

用户同意个人信息的使用与收集的状态

将展示个性化广告。

在确认/更改同意与否的情况下,请使用 ADXGdprManager 的以下函数。

// 您可以检查在ADXGdprManager中设置的用户同意信息。
ADXGdprManager.getResultGDPR(this);

// 直接更改是否同意。
ADXGdprManager.saveResultGDPR(this, ADXConsentState);

4. GDPR 同意界面重新展示

可以向用户重新显示 GDPR 同意界面,以便更改同意的状态值。

ADXSdk.getInstance().showGDPRForm((Activity) this, new ADXSdk.OnPrivacyOptionsFormListener() {
    @Override
    public void onCompleted(boolean result) {
    }
});
  • 请仅在用户触发的输入事件(例如按钮点击)中调用上述方法。如果在没有用户输入事件的情况下调用,可能无法正常工作。

  • 如果并非欧洲经济区(European Economic Area)地区,GDPR 同意界面可能不会被重新展示。

  • 如果已存在关于 GDPR 同意状态的信息,即使并非欧洲经济区地区,GDPR 同意界面也可能被展示。

5. Privacy Policy

AD(x)的 Privacy Policy 文档URL,可以通过 ADXGDPRgetPrivacyURL()来进行呼叫。

ADXGdprManager.getPrivacyURL();

6. 启用调试日志

为了保证QA过程中联动和中介的正常运行,在调用初始化函数之前需要添加以下内容。

ADXLogUtil.setLogEnable(true);

7. 针对儿童的设置

如果您的服务要求您根据《儿童在线隐私保护法》(COPPA) 将内容指定为面向儿童的内容,或定位到欧洲经济区 (EEA) 中未达到法定年龄的用户,则必须在调用初始化函数之前配置 AdMob 定位设置。

有关更多信息,请参阅 AdMob 定位 (https://developers.google.com/admob/android/targeting?hl=zh-cn)。

最后更新于

这有帮助吗?