我已经为我的游戏设置了一个带有横幅广告单元的 AdMob 帐户。在互联网上查找有关如何使用 Cocos2d-x 为 Android 实现 AdMob 的教程很简单,但现在我遇到了一个问题,我似乎找不到解决方案。
我的横幅没有出现在屏幕顶部,我在 Logcat 中收到了这 3 条消息:
I/Ads(19290): Starting ad request.
W/Ads(19129): There was a problem getting an ad response. ErrorCode: 0
W/Ads(19129): Failed to load ad: 0
这让我认为我正确地实现了横幅代码,但其他地方出错了。另一个奇怪的观察结果:如果我从我的 list 中删除权限 INTERNET
和 ACCESS_NETWORK_STATE
,横幅显示 说我需要启用权限查看广告。
这是我用来创建横幅的代码。我不认为它有什么问题,并且没有抛出异常,正如您从我上面复制粘贴的日志中看到的那样。
private void adCreate() {
adView = new AdView(this);
adView.setAdUnitId(AD_UNIT_ID); // In my code I set the real value from the AdMob website
adView.setAdSize(AdSize.BANNER);
try {
AdView.LayoutParams layoutParams = new AdView.LayoutParams(
LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT);
RelativeLayout relativeLayout = new RelativeLayout(this);
RelativeLayout.LayoutParams rlp = new RelativeLayout.LayoutParams(
LayoutParams.MATCH_PARENT,
LayoutParams.MATCH_PARENT);
relativeLayout.setGravity(Gravity.TOP | Gravity.CENTER_HORIZONTAL);
adView.setLayoutParams(layoutParams);
relativeLayout.addView(adView);
addContentView(relativeLayout, rlp);
AdRequest adRequest = new AdRequest.Builder()
.addTestDevice("XXXXXXXXXX") // In my code I set the real value I got from Logcat
.build();
adView.loadAd(adRequest);
} catch (Exception e) {
Log.e("Ads", "AdMob Error: " + e);
}
// Setup AdListener
adView.setAdListener(new AdListener() {
public void onAdLoaded() {
Log.i("Ads", "onAdLoaded");
adView.bringToFront();
}
});
}
我不知道发生了什么,我什至尝试在 AdMob 网站上存档我的单元并创建一个新单元用作广告单元 ID,但无济于事。
谢谢!
编辑:错误 0 似乎是“内部错误”。不知道这指向什么或错误可能源自何处。
最佳答案
我现在觉得很蠢。我正在我 friend 的手机上进行测试,但我不知道他正在使用 AdAway root 应用程序,导致 AdMob 收到对 127.0.0.1 的无效请求。我禁用了 AdAway,一切似乎都运行良好:)
关于java - AdMob 横幅未在 Android (Cocos2d-x) 上显示测试广告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27192572/