Android Google AdMob:无法解析事件 FE 预检响应,但我已正确指示发布商 ID
Android Google AdMob: Could not parse Event FE preflight response BUT I have correctly indicated the Publisher ID
ConsentInformation consentInformation = ConsentInformation.getInstance(that);
String[] publisherIds = {"pub-XYZYXYZYXYZYXYZXY"};
consentInformation.requestConsentInfoUpdate(publisherIds, new ConsentInfoUpdateListener() {
@Override
public void onConsentInfoUpdated(ConsentStatus consentStatus) {
Consent consent = new Consent();
if(!ConsentInformation.getInstance(that).isRequestLocationInEeaOrUnknown()) {
consentCallback(that, new AdRequest.Builder().build());
} else {
if(consentStatus == ConsentStatus.NON_PERSONALIZED) {
Bundle extras = new Bundle();
extras.putString("npa", "1");
AdRequest adRequest = new AdRequest.Builder().addNetworkExtrasBundle(AdMobAdapter.class, extras).build();
consentCallback(that, adRequest);
} else if(consentStatus == ConsentStatus.PERSONALIZED) {
consentCallback(that, new AdRequest.Builder().build());
} else if(consentStatus == ConsentStatus.UNKNOWN) {
consent.collectConsent(that, miscellaneous, new ConsentInterface() {
@Override
public void callbackConsentInterface(AdRequest adRequest) {
consentCallback(that, adRequest);
}
});
}
}
}
如您所见,我已正确指出我的 Pub ID(如这个类似问题中突出显示的:Android - ConsentInformation - Could not parse Event FE preflight response)。
但是我仍然有这个错误:
W/System.err: Could not parse Event FE preflight response.
我该怎么做才能修复这个错误?
我明确指出,我没有在 Google AdMob 中输入我的银行帐户信息,而且由于公司和技术原因,我无法进行测试。
我严格按照我想象的那三个步骤简单地解决了我的问题。我已经测试了它们的几乎所有组合:如果未遵循这些步骤之一,您将得到此 "Could not parse Event"。否则,你不会得到这个错误。
遵循这些文档:https://developers.google.com/admob/android/eu-consent + https://firebase.google.com/docs/admob ("Get started for Android") + https://developers.google.com/admob ("Android setup")
请务必在发布商 ID 数组中指定您的 发布商 ID 以供同意 API (https://support.google.com/admob/answer/2784578)
重要提示:在您的 Google AdMob 帐户 (https://apps.admob.com/v2/payments/settings) 中填写您的付款信息(不是说您的信用卡或任何其他付款方式,而是关于您的生活坐标)
等待 <= 24 小时
按照上述文档,创建您的 AdMob "app",等等
一定要在"Blocking Controls > EU Consent > Select ad technology providers"(https://apps.admob.com/v2/pubcontrols/eu-user-consent)中选择了一些提供者(一般不可能没有选择)
[未经测试但在 Internet 上找到]在您的应用级 Gradle 文件中,确保具有:
minifyEnabled 假
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'),'proguard-rules.pro'
那么应该可以了。
如果您的 AdMob 帐户尚未获得批准,则可能会出现此错误。等待 "Under Review" 消息消失,然后重试。
ConsentInformation consentInformation = ConsentInformation.getInstance(that);
String[] publisherIds = {"pub-XYZYXYZYXYZYXYZXY"};
consentInformation.requestConsentInfoUpdate(publisherIds, new ConsentInfoUpdateListener() {
@Override
public void onConsentInfoUpdated(ConsentStatus consentStatus) {
Consent consent = new Consent();
if(!ConsentInformation.getInstance(that).isRequestLocationInEeaOrUnknown()) {
consentCallback(that, new AdRequest.Builder().build());
} else {
if(consentStatus == ConsentStatus.NON_PERSONALIZED) {
Bundle extras = new Bundle();
extras.putString("npa", "1");
AdRequest adRequest = new AdRequest.Builder().addNetworkExtrasBundle(AdMobAdapter.class, extras).build();
consentCallback(that, adRequest);
} else if(consentStatus == ConsentStatus.PERSONALIZED) {
consentCallback(that, new AdRequest.Builder().build());
} else if(consentStatus == ConsentStatus.UNKNOWN) {
consent.collectConsent(that, miscellaneous, new ConsentInterface() {
@Override
public void callbackConsentInterface(AdRequest adRequest) {
consentCallback(that, adRequest);
}
});
}
}
}
如您所见,我已正确指出我的 Pub ID(如这个类似问题中突出显示的:Android - ConsentInformation - Could not parse Event FE preflight response)。
但是我仍然有这个错误:
W/System.err: Could not parse Event FE preflight response.
我该怎么做才能修复这个错误?
我明确指出,我没有在 Google AdMob 中输入我的银行帐户信息,而且由于公司和技术原因,我无法进行测试。
我严格按照我想象的那三个步骤简单地解决了我的问题。我已经测试了它们的几乎所有组合:如果未遵循这些步骤之一,您将得到此 "Could not parse Event"。否则,你不会得到这个错误。
遵循这些文档:https://developers.google.com/admob/android/eu-consent + https://firebase.google.com/docs/admob ("Get started for Android") + https://developers.google.com/admob ("Android setup")
请务必在发布商 ID 数组中指定您的 发布商 ID 以供同意 API (https://support.google.com/admob/answer/2784578)
重要提示:在您的 Google AdMob 帐户 (https://apps.admob.com/v2/payments/settings) 中填写您的付款信息(不是说您的信用卡或任何其他付款方式,而是关于您的生活坐标)
等待 <= 24 小时
按照上述文档,创建您的 AdMob "app",等等
一定要在"Blocking Controls > EU Consent > Select ad technology providers"(https://apps.admob.com/v2/pubcontrols/eu-user-consent)中选择了一些提供者(一般不可能没有选择)
[未经测试但在 Internet 上找到]在您的应用级 Gradle 文件中,确保具有:
minifyEnabled 假
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'),'proguard-rules.pro'
那么应该可以了。
如果您的 AdMob 帐户尚未获得批准,则可能会出现此错误。等待 "Under Review" 消息消失,然后重试。