Initialize
0. GDPR (General Data Protection Regulation)
GDPR是欧盟(以下简称“EU”)的个人信息保护法规,服务提供者在收集和使用欧盟用户的个人信息或等同信息时,必须确认用户是否同意。这是为了遵守GDPR规定并满足基于该规定的广告网络操作所需的流程。
1. Initialize & GDPR Content UI
在初始化时,提供可处理来自欧洲经济区(European Economic Area)用户的 GDPR 同意与否的相关功能。 AppDelegate中,在请求与广告相关的代码之前调用初始化函数
ADX SDK 中,从用户处 GDPR 获取同意的功能。
2024年1月16日起,依据 IAB 欧洲的认证以及平台运营商的 认证的同意平台(CMP)来处理GDPR同意管理,, 使用 AdMob UMP(用户消息平台)来处理 GDPR 同意。
如果您在欧洲经济区(European Economic Area)提供应用服务,或计划提供服务, 本文件的 UMP(User Messaging Platform) 部分按照说明进行设置。
"<ADX_APP_ID>"中使用 ADX 下发的 ADX App ID。SDK 初始化请在应用运行时只调用一次,并且 广告请求必须在初始化完成后进行。
ADXCompletionHandler被调用后,才应该请求广告。
GdprType 请从下列项中选择并输入。
GDPR 类型
说明
ADXGdprTypePopupLocation
根据地区弹出同意提示(EU地区)
ADXGdprTypePopupDebug
不论地区均弹出同意提示以供测试(DEBUG)
ADXGdprTypeDirectNotRequired
无需同意的地区(EU 以外地区)
ADXGdprTypeDirectDenied
用户拒绝个人信息的使用与收集
ADXGdprTypeDirectConfirm
用户同意个人信息的使用与收集
Case 1. 向 EEA 用户提供 GDPR 同意界面
为欧洲经济区(European Economic Area)用户提供可选择是否同意的同意界面。
是否允许向欧洲经济区(European Economic Area)的用户征求同意的功能由 AdMob UMP(用户消息平台)处理。
在 ADXConfiguration中将 GdprType 设置为ADXGdprTypePopupLocation时,依据用户的接入国家,EU 用户可以通过 GDPR 同意界面(Consent UI)决定是否同意。将 GdprType 设置为
ADXGdprTypePopupDebug设置为时可无论访问国家如何都查看同意界面。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
ADXConfiguration *configuration =
[[ADXConfiguration alloc] initWithAppId:@"<ADX_APP_ID>"
gdprType:ADXGdprTypePopupLocation
testDevices:@[@""]];
[[ADXSdk sharedInstance] initializeWithConfiguration:configuration
completionHandler:^(BOOL result, ADXConsentState consentState) {
NSLog(@"ADX Sdk Initialize");
}];
return YES;
}func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
let configuration =
ADXConfiguration(appId: "<ADX_APP_ID>",
gdprType: .popupLocation,
testDevices: [""])
ADXSdk.sharedInstance().initialize(with: configuration) { result, consentState in
print("ADX SDK Initialize")
}
return true
}
Case 2. 直接设置同意状态
如果不存在欧洲经济区(European Economic Area)用户,或应用内并未收集 GDPR 所定义的等同于个人信息的信息, 则需要像在韩国进行推送通知同意、隐私政策同意等一样,单独进行并处理直接同意流程。需要您自行进行处理。
如果面向欧洲经济区(European Economic Area)之外的地区且不需要征求同意,
在 ADXConfiguration中将 GdprType 设置为ADXGdprTypeDirectNotRequired进行设置。
在 UMP 中关于 GDPR 及IDFA(广告标识符)关于访问权限的控制,ADXGdprTypeDirectNotRequired设置为该值时无法同时获取 IDFA 访问权限。在这种情况下,ATT(App Tracking Transparency)同意请求需通过编程代码来手动请求 ATT 同意提示。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// 注意:若使用 AdMob UMP 的 IDFA 消息,请使用 'ADXGdprTypePopupLocation'
ADXConfiguration *configuration =
[[ADXConfiguration alloc] initWithAppId:@"<ADX_APP_ID>"
gdprType:ADXGdprTypeDirectNotRequired
testDevices:@[@""]];
[[ADXSdk sharedInstance] initializeWithConfiguration:configuration
completionHandler:^(BOOL result, ADXConsentState consentState) {
NSLog(@"ADX Sdk Initialize");
}];
return YES;
}func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// 注意:若使用 AdMob UMP 的 IDFA 消息,请使用 'ADXGdprTypePopupLocation'
let configuration =
ADXConfiguration(appId: "<ADX_APP_ID>",
gdprType: .directNotRequired,
testDevices: [""])
ADXSdk.sharedInstance().initialize(with: configuration) { result, consentState in
print("ADX SDK Initialize")
}
return true
}2. ConsentState
GDPR 同意状态有 4 个状态值。
状态
说明
ADXConsentStateUnknown
表示用户无同意信息,在此状态下不会展示个性化广告。
ADXConsentStateNotRequired
在不需要征求同意的地区(EU 以外地区)会展示个性化广告。
ADXConsentStateDenied
用户已拒绝个人信息的使用与收集的状态 不会展示个性化广告。
ADXConsentStateConfirm
用户同意个人信息的使用与收集的状态
将展示个性化广告。
在确认或变更同意状态时,请使用 ADXGdprManager 的以下函数。
// 您可以检查在ADXGdprManager中设置的用户同意信息。
[ADXGdprManager sharedInstance].consentState;
// 直接更改是否同意。
[[ADXGdprManager sharedInstance] setConsentState:ADXConsentStateConfirm];// 您可以检查在ADXGdprManager中设置的用户同意信息。
ADXGdprManager.sharedInstance().consentState
// 直接更改是否同意。
ADXGdprManager.sharedInstance().consentState = .confirm3. GDPR 同意界面重新展示
您可以向用户重新公开 GDPR 同意屏幕,以更改同意的状态值。
#import <ADXLibrary/ADXLibrary.h>
UIViewController * viewController = self;
[[ADXSdk sharedInstance] showGDPRForm:viewController
completionHandler:^(BOOL result) {
}];import ADXLibrary
let viewController:UIViewController = self
ADXSdk.sharedInstance().showGDPRForm(viewController) { result in
}4. Privacy Policy
可以通过调用 ADXGdprManager 的 privacyPolicyURL 来使用 AD(x) 隐私政策文档的 URL。
[ADXGdprManager sharedInstance].privacyPolicyURL;ADXGdprManager.sharedInstance().privacyPolicyURL5. 启用调试日志
在进行 QA 时,为了确认集成及聚合的正常运行,请在调用初始化函数之前,在 ADXConfiguration 中添加 logLevel。
ADXConfiguration *configuration =
[[ADXConfiguration alloc] initWithAppId:@"<ADX_APP_ID>"
gdprType:ADXGdprTypePopupLocation];
configuration.logLevel = ADXLogLevelDebug; let configuration =
ADXConfiguration(appId: "ADX_APP_ID", gdprType: .popupLocation)
configuration.logLevel = .debug6. 针对儿童的设置
如果您的服务要求根据《儿童在线隐私保护法》(COPPA) 将内容标记为面向儿童,或者面向居住在欧洲经济区 (EEA) 并未达到法定同意年龄的用户,则必须在调用初始化函数之前配置 AdMob 的定向设置。
最后更新于
这有帮助吗?