Google UMP 使用指南
一、集成 UMP
Google UMP集成官方文档
implementation 'com.google.android.ump:user-messaging-platform:2.1.0'
示例代码
ConsentRequestParameters params = new ConsentRequestParameters
.Builder()
// 指示用户是否低于同意年龄; true 低于同意年龄
// 未满同意年龄的用户不会收到 GDPR 消息表单
.setTagForUnderAgeOfConsent(false)
.build();
consentInformation = UserMessagingPlatform.getConsentInformation(this);
consentInformation.requestConsentInfoUpdate(
this, params, (ConsentInformation.OnConsentInfoUpdateSuccessListener) () -> {
UserMessagingPlatform.loadAndShowConsentFormIfRequired(this,
(ConsentForm.OnConsentFormDismissedListener) loadAndShowError -> {
if (loadAndShowError != null) {
// Consent gathering failed.
}
// Consent has been gathered.
if (consentInformation.canRequestAds()) {
// 授权完成,初始化SDK
}
});
},(ConsentInformation.OnConsentInfoUpdateFailureListener) requestConsentError -> {
// Consent gathering failed.
});
if (consentInformation.canRequestAds()) {
// 授权完成,初始化SDK
}
二、在Admob后台开启UMP
1.访问Admob后台登录Admob账号,在 AdMob 中添加你的应用(如果您尚未添加应用)
2.点击“隐私权和消息”
3.点击“欧洲法规-管理”
4.点击“创建消息”,等待GDPR消息页面打开
5.在GDPR消息页面中点击右上角“选择应用”,选择您想要显示GDPR信息的应用
6.选择您想要显示消息的语言
7.在“定位”栏目中选择“须遵守 GDPR 的国家/地区(EEA 和 UK)”选项tips:推荐以下样式配置可以提高用户同意GDPR概率:
Tips:推荐以下样式配置可以提高用户同意GDPR概率:
三、指定的广告合作伙伴
默认情况下,Google 可能不会在您的 GDPR 消息中显示您项目中集成的所有广告平台。如果您未能包含这些广告平台,可能会对您的广告收入产生不利影响。请按照本部分中的步骤操作,确保您项目中集成的所有广告平台都出现在 GDPR 消息中。
1.在Admob后台“隐私权和消息”中点击“GDPR设置”,打开GDPR设置
2.点击“检查您的广告合作伙伴”部分下的编辑图标
3.选择“自行指定的广告合作伙伴“按钮
4.参考下方表格,勾选您项目中集成的所有广告平台
TradPlus Network | Google Name |
---|---|
Meta | |
AppLovin | AppLovin Corp |
IronSource | ironSource Mobile |
Chartboost | Chartboost |
UnityAds | Unity Ads |
Ogury | Ogury Ltd |
AdColony | AdColony |
Start.io | StartApp 或 Start.io Inc |
Verve | Verve Group |
LiftOff | Liftoff |
Fyber | Fyber |
Mintegral | Mobvista/Mintegral |
Amazon | Amazon |
InMobi | InMobi Choice |
Smaato | Smaato |
Yandex | Yandex |
Bigo | BIGOAds |
5.点击“确认”
6.点击GDPR设置页面最底部的“保存”按钮
注意:如果有弹出“重新向所有符合条件的用户征求意见?”弹窗时需要选择“重新提示”
四、TradPlus 相关设置
1.V10.9.0之前版本
开发者需要在UMP授权完成后调用GDRP设置API,相关代码如下:
// 正常集成UMP,授权完成后执行
SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(this);
// 同意
String purposeConsents = sharedPref.getString("IABTCF_PurposeConsents", "");
// 是否接受监管
int gdprApplies = sharedPref.getInt("IABTCF_gdprApplies", 0);
// 当前地区适用GDPR
if(gdprApplies == 1) {
if (!purposeConsents.isEmpty()) {
//授权完成后,开发者需根据授权结果,向TradPlusSDK设置GDPR状态
//参考代码如下
String purposeOneString = String.valueOf(purposeConsents.charAt(0));
boolean hasConsentForPurposeOne = purposeOneString.equals("1");
TradPlusSdk.setGDPRDataCollection(this,hasConsentForPurposeOne ? 0 : 1);
}
}