Android 谷歌广告是如何在安卓系统上显示的?
我在我的设备上用广告做了一些测试,然后用生产单元ID将应用程序推到了游戏中。过了一段时间,当版本在游戏中可用时,我从我的设备上删除了调试版本,并从中安装 代码与建议的代码相同 但令人惊讶的是,我在日志中看到了以下内容 2:38.743 16617-16617/com.osfg.tictactoe I/Ads﹕ 正在启动广告请求。 06-17 18:22:38.743 16617-16617/com.osfg.tictactoe I/Ads﹕ 使用addRequest.Builder.addTestDevice(“235F7FAA8F49FF2CAA1DD2FAFE6B9E8A”)获取此设备上的测试广告。 06-17 18:22:40.529 16617-16617/com.osfg.tictactoe I/gameplayonclicklinklistener﹕ 比赛结束了。有人赢了 06-17 18:22:43.551 16617-16617/com.osfg.tictactoe I/GamePlayOnClickListener﹕ 无法加载填隙添加 06-17 18:22:43.551 16617-16617/com.osfg.tictactoe I/GamePlayOnClickListener﹕ 重置游戏Android 谷歌广告是如何在安卓系统上显示的?,android,admob,ads,Android,Admob,Ads,我在我的设备上用广告做了一些测试,然后用生产单元ID将应用程序推到了游戏中。过了一段时间,当版本在游戏中可用时,我从我的设备上删除了调试版本,并从中安装 代码与建议的代码相同 但令人惊讶的是,我在日志中看到了以下内容 2:38.743 16617-16617/com.osfg.tictactoe I/Ads﹕ 正在启动广告请求。 06-17 18:22:38.743 16617-16617/com.osfg.tictactoe I/Ads﹕ 使用addRequest.Builder.addTes
它仍然使用我的设备作为测试设备?不知道这里发生了什么。有人有过这方面的经验吗?我知道它会计算哈希值,但它会将其存储在admob服务器上,但这也是客户端调用。它怎么知道?我很困惑。非常感谢您的建议。您遇到此问题的原因很可能是
minterstitalad.loadAd(adRequest)
正在调用后台线程以加载新广告,但您正在检查该广告是否已立即加载。你不会给后台线程一个连接到服务器、获取广告等的机会
要解决此问题,您需要将广告加载到AdListener
中时的代码,如下所示:
mInterstitialAd.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
Log.i(TAG," Interstitial Add :Loaded");
}
@Override
public void onAdFailedToLoad(int error) {
Log.i(TAG,"Could not load Interstitial Add");
}
}
mInterstitialAd.loadAd(adRequest);
if语句
if(minterstitalad.isLoaded())
用于稍后检查广告是否已加载,例如在用户执行某些操作之后。不是在活动开始或任何类似的时候。Joseph在调用loadAd()
后立即调用interstitual.show()
时,您完全正确地解释了为什么他会出错。但是告诉人们从onAdLoaded()
调用interstitual.show()
,他们的帐户将被禁止,正如Admob多次说过的那样。@Joseph和@Willam感谢您提供的信息。但我的问题是,为什么从play store下载的应用程序的日志中会显示addTestDevice
,并带有生产添加单元id。@AniketThakur我可能弄错了,但在任何设备上都可能会这样说。如果你要测试你的应用程序,你必须使用测试广告,如果你不这样做,你的Admob帐户将被禁止。这就是为什么您会看到这条消息,因为Admob需要为您提供在任何设备上请求测试广告的能力。因此,我相信无论您在什么设备上运行,您的或其他人的,real或emulator,您都会在日志中看到该消息,因为任何设备都可以用于测试。这有意义吗?不,我正在使用生产添加单元it,正如admob所说,此单元id用于生产,使用它进行测试可能会导致阻塞您的帐户。考虑到我从play store下载并打开了应用程序,我在日志中看到了上面的内容。我所期望的是,adds应该没有测试设备(考虑到它是从play store下载的)。@AniketThakur只有一种admob广告单元id,您可以自己创建。您可以使用任何ad单元id获取测试广告,方法是包括行AdRequest.Builder.addTestDevice(“此处的设备id”)
。只要你在你的应用程序中看到了真实的广告,你做的一切都是正确的。无论你做什么,你总是会在你的日志中看到这条消息。
mInterstitialAd.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
Log.i(TAG," Interstitial Add :Loaded");
}
@Override
public void onAdFailedToLoad(int error) {
Log.i(TAG,"Could not load Interstitial Add");
}
}
mInterstitialAd.loadAd(adRequest);