java cocos2dx/firebase/admob加载间隙ad失败
我遵循这一官方指南,将firebase/admob集成到我的cocos2d-x项目中
https://firebase.google.com/docs/admob/cpp/quick-start
这是我的代码:
void Helper::initializeAdmob() {
// Initialize Firebase for Android.
firebase::App* app = firebase::App::Create(firebase::AppOptions(), JniHelper::getEnv(), JniHelper::getActivity());
// Initialize AdMob.
firebase::admob::Initialize(*app, admob_app_id);
firebase::admob::Initialize(*app);
interstitial_ad = new firebase::admob::InterstitialAd();
interstitial_ad->Initialize(static_cast<firebase::admob::AdParent>(getAdParent()), testing_boolean ? interstitial_id_for_testing : interstitial_id);
}
void Helper::requestInterstitialAd() {
if (interstitial_ad->InitializeLastResult().status() == firebase::kFutureStatusComplete && interstitial_ad->InitializeLastResult().error() == firebase::admob::kAdMobErrorNone) {
firebase::admob::AdRequest request = {};
const char* myKindleFireDeviceId = "7E9D27D370EA69CD2B962EE957B1C198";
static const char* testDevices[] = {myKindleFireDeviceId};
request.test_device_ids = testDevices;
request.test_device_id_count = sizeof(testDevices) / sizeof(testDevices[0]);
interstitial_ad->LoadAd(request);
}
}
void Helper::showInterstitialAd() {
if (interstitial_ad->LoadAdLastResult().status() == firebase::kFutureStatusComplete && interstitial_ad->LoadAdLastResult().error() == firebase::admob::kAdMobErrorNone) {
interstitial_ad->Show();
}
}
执行initializeAdmob()
的过程很顺利。
然后对于requestInterstitialAd()
,我得到了400个错误:
12-23 22:57:28.743 24354-25845/com.xx.xx W/Ads: Received error HTTP response code: 400
12-23 22:57:28.756 24354-25845/com.xx.xx W/Ads: There was a problem getting an ad response. ErrorCode: 0
12-23 22:57:28.759 24354-24354/com.xx.xx W/Ads: Failed to load ad: 0
编辑:
我用的是kindle fire
编辑2:
我的kindle fire已连接到互联网
编辑3:
我使用的是我自己的admob应用程序id,以及安卓中间广告的测试id
编辑4:
我尝试了横幅广告,得到了同样的结果。 我也试过模拟器,结果也一样
# 1 楼答案
你能试用任何带有Play Store的设备吗?Kindle Fire曾经为我工作,但在Admob停止提供独立SDK后,它就不再工作了