gpt4 book ai didi

java - 未显示 GDPR 同意对话框

转载 作者:行者123 更新时间:2023-12-01 23:19:12 33 4
gpt4 key购买 nike

我按照 Android 文档上的指南进行操作,但由于某种原因,当我启动应用程序时没有显示任何内容。我什至尝试记录监听器,但 logcat 中没有显示任何内容。

我还将 admob 设置中的广告技术更改为自定义广告技术提供商集,但仍然无法正常工作。

我的代码

 ConsentInformation consentInformation = ConsentInformation.getInstance(getApplicationContext());
ConsentInformation.getInstance(getApplicationContext()).addTestDevice("6AE7D8950FE9E464D988F340C0D625B0");
ConsentInformation.getInstance(getApplicationContext()).
setDebugGeography(DebugGeography.DEBUG_GEOGRAPHY_EEA);
String[] publisherIds = {""};
consentInformation.requestConsentInfoUpdate(publisherIds, new ConsentInfoUpdateListener() {
@Override
public void onConsentInfoUpdated(ConsentStatus consentStatus) {
// User's consent status successfully updated.
Log.d(TAG,"onConsentInfoUpdated");
}

@Override
public void onFailedToUpdateConsentInfo(String errorDescription) {
// User's consent status failed to update.
Log.d(TAG,"onFailedToUpdateConsentInfo");
}
});

form = new ConsentForm.Builder(this, privacyUrl)
.withListener(new ConsentFormListener() {
@Override
public void onConsentFormLoaded() {
// Consent form loaded successfully.
Log.d(TAG,"form loaded!");
form.show();
}

@Override
public void onConsentFormOpened() {
// Consent form was displayed.
}

@Override
public void onConsentFormClosed(
ConsentStatus consentStatus, Boolean userPrefersAdFree) {
// Consent form was closed.
}

@Override
public void onConsentFormError(String errorDescription) {
// Consent form error.
Log.d(TAG,"form error!");
}
})
.withPersonalizedAdsOption()
.withNonPersonalizedAdsOption()
.withAdFreeOption()
.build();

form.load();

Gradle

dependencies {
classpath 'com.google.gms:google-services:4.3.2'
}



implementation 'com.google.android.ads.consent:consent-library:1.0.7'
implementation 'com.google.android.gms:play-services-plus:17.0.0'
implementation 'com.google.android.gms:play-services-ads:18.2.0'

编辑

我在一个 android x 之前的项目上尝试过它,现在它调用监听器 onFailedToUpdateConsentInfo

出现以下错误消息:

onFailedToUpdateConsentInfoCould not parse Event FE preflight response.

搜索了一下,发现这可能是因为无效的 pub id,但我确信我使用的是正确的。

最佳答案

1) 我认为您忘记检查 isRequestLocationInEeaOrUnknown() 方法。如果用户已经同意同意,它将返回 true。在这种情况下,您无需再次询问。我想你已经同意了。

用以下内容包装您的代码

if(ConsentInformation.getInstance(context).isRequestLocationInEeaOrUnknown()){
//setup admob
}else{
//Ask for consent
}

2) 您必须调用 form.show(); 将表单呈现给用户,请检查 Google Doc

关于java - 未显示 GDPR 同意对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58334452/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com