跳到主要内容

Google UMP 使用指南

一、集成 UMP

通过CocoPods集成
pod 'GoogleUserMessagingPlatform'
根据UMP接入指南进行集成

示例代码

#import <TradPlusAds/TradPlusAds.h>
#import <UserMessagingPlatform/UserMessagingPlatform.h>
//通过UMP授权
__weak typeof(self) weakSelf = self;
[UMPConsentInformation.sharedInstance
requestConsentInfoUpdateWithParameters:nil
completionHandler:^(NSError *_Nullable requestConsentError) {
if (requestConsentError == nil) {
NSLog(@"Error: %@", requestConsentError.localizedDescription);
[UMPConsentForm loadAndPresentIfRequiredFromViewController:nil
completionHandler:^(NSError * _Nullable error) {
[weakSelf startTradPlusSDK];
}];
}
else
{
[weakSelf startTradPlusSDK];
}
}];
if(UMPConsentInformation.sharedInstance.canRequestAds)
{
[self startTradPlusSDK];
}


- (void)startTradPlusSDK {
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
//初始化
[TradPlus initSDK:@"TradPlus后台的应用对应appid" completionBlock:^(NSError *error){}];
//加载广告
});
}

二、在Admob后台开启UMP

1.访问Admob后台登录Admob账号,在 AdMob 中添加你的应用(如果您尚未添加应用)

2.点击“隐私权和消息”

3.点击“欧洲法规-管理”

4.点击“创建消息”,等待GDPR消息页面打开

5.在GDPR消息页面中点击右上角“选择应用”,选择您想要显示GDPR信息的应用

6.选择您想要显示消息的语言

7.在“定位”栏目中选择“须遵守 GDPR 的国家/地区(EEA 和 UK)”选项

Tips:推荐以下样式配置可以提高用户同意GDPR概率:

三、指定的广告合作伙伴

默认情况下,Google 可能不会在您的 GDPR 消息中显示您项目中集成的所有广告平台。如果您未能包含这些广告平台,可能会对您的广告收入产生不利影响。请按照本部分中的步骤操作,确保您项目中集成的所有广告平台都出现在 GDPR 消息中。

1. 在Admob后台“隐私权和消息”中点击“GDPR设置”,打开GDPR设置

2. 点击“检查您的广告合作伙伴”部分下的编辑图标

3. 选择 自行指定的广告合作伙伴 按钮

4. 参考下方表格,勾选您项目中集成的所有广告平台
TradPlus Network Google Name
MetaFacebook
AppLovinAppLovin Corp
IronSourceironSource Mobile
ChartboostChartboost
UnityAdsUnity Ads
OguryOgury Ltd
AdColonyAdColony
Start.ioStartAppStart.io Inc
VerveVerve Group
LiftoffLiftoff
FyberFyber
MintegralMobvista/Mintegral
AmazonAmazon
InMobiInMobi Choice
SmaatoSmaato
YandexYandex
BigoBIGOAds
5. 点击“确认”
6. 点击GDPR设置页面最底部的“保存”按钮

注意:如果有弹出“重新向所有符合条件的用户征求意见?”弹窗时需要选择“重新提示”

四、TradPlus 相关设置

1. v10.6.0之前版本

开发者需要在UMP授权完成后调用GDRP设置API

iOS相关代码如下

//集成UMP并进行授权调用
//授权完成后,开发者需根据授权结果,向TradPlusSDK设置GDPR状态
//参考代码如下
NSInteger gdprApplies = [[NSUserDefaults standardUserDefaults] integerForKey:@"IABTCF_gdprApplies"];
if(gdprApplies == 1)//当前地区适用GDPR
{
NSString *purposeConsents = [[NSUserDefaults standardUserDefaults] stringForKey:@"IABTCF_PurposeConsents"];
if(purposeConsents != nil)
{
BOOL consent = [purposeConsents containsString:@"1"];
[TradPlus setGDPRDataCollection:consent];
}
}

2. v10.6.0及之后版本

大部份支持TCF2.0的三方广告源 TradPlus SDK 会根据平台情况自动进行适配处理

1.三方广告源自行获取的,则不进行任何设置操作 ( Amazon, AdColony, Admob, GoogleAdManger, GoogleIMA, Applovin, InMobi, Mintegral, Smaato, Verve, Yandex, Helium )

2.通过三方SDK API 传入 TCF v2 consent strings ( Fyber, Ogury )

3.根据 Global Vendor List (GVL),TCF v2 string 授权情况后向三方SDK设置授权状态 ( Liftoff, Start.io )

4.通过UMP Additional Consent (AC) Mode 来判断授权情况后向三方SDK设置授权状态 ( IronSource, UnityAds, Chartboost, startapp )

5.根据三方规则判断后向三方SDK设置授权状态 ( Pangle, Bigo )

6.根据Meta的用户协议相关功能需要开发自行判断后设置

在授权流程结束后,开发者需要根据授权情况来决定是否开启Meta的受限数据使用 (LDU) 模式。 Meta的受限数据使用 (LDU) 模式 相关文档: Meta for Developers documentation

如使用UMP可参考如下代码:

//授权完成后
NSInteger gdprApplies = [[NSUserDefaults standardUserDefaults] integerForKey:@"IABTCF_gdprApplies"];
if(gdprApplies == 1)//当前地区适用GDPR
{
NSString *addtlConsent = [[NSUserDefaults standardUserDefaults] stringForKey:@"IABTCF_AddtlConsent"];
BOOL consent = ([addtlConsent rangeOfString:@"89"].location != NSNotFound);
//根据授权状态,依照Meta文档进行设置
}
else
{
//根据Meta文档进行设置
}