Android Admob广告未在真实设备中显示,尽管它在模拟器上工作
我遇到了Admob问题,它可以在模拟器和真实设备上使用test AppId和AdUnitId正常工作。 两台设备都显示了“干得好”的测试广告 在创建了我的AppId和AdUnitId之后,emulator将显示下一级广告并开始工作 但真正的设备没有显示任何东西。真实设备中没有adview栏 我的代码如下- build.gradle ModuleApp 依赖项{ …Android Admob广告未在真实设备中显示,尽管它在模拟器上工作,android,admob,Android,Admob,我遇到了Admob问题,它可以在模拟器和真实设备上使用test AppId和AdUnitId正常工作。 两台设备都显示了“干得好”的测试广告 在创建了我的AppId和AdUnitId之后,emulator将显示下一级广告并开始工作 但真正的设备没有显示任何东西。真实设备中没有adview栏 我的代码如下- build.gradle ModuleApp 依赖项{ … 实现'com.google.android.gms:play-services-ads:18.3.0'} AndroidManife
实现'com.google.android.gms:play-services-ads:18.3.0'} AndroidManifest.xml 还有一个问题: 在developers.google.com入门信息中显示了添加MobileAds.initialize{…} 这是什么要求,因为即使没有添加代码,应用程序仍在工作
我在网上发现了一些类似的问题,但没有找到/理解正确的解决方案。将听众添加到你的广告中,以获取更多信息,了解为什么无法加载广告
mAdView.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
// Code to be executed when an ad finishes loading.
}
@Override
public void onAdFailedToLoad(int errorCode) {
Log.d("mAdView", "onAdFailedToLoad. But why? "+errorCode)
// Code to be executed when an ad request fails.
}
@Override
public void onAdOpened() {
// Code to be executed when an ad opens an overlay that
// covers the screen.
}
@Override
public void onAdClicked() {
// Code to be executed when the user clicks on an ad.
}
@Override
public void onAdLeftApplication() {
// Code to be executed when the user has left the app.
}
@Override
public void onAdClosed() {
// Code to be executed when the user is about to return
// to the app after tapping on an ad.
}
});
您应该在初始化中添加一些输出
MobileAds.initialize(this, new OnInitializationCompleteListener() {
@Override
public void onInitializationComplete(InitializationStatus initializationStatus) {
Log.d("MobileAds", "#onInitializationComplete");
}
});
1个月后,我的应用程序中只加载了2次广告。我还没有发布应用程序。所有请求和2次加载都显示在我的AdMobs仪表板中 所以现在我建议以下两个答案来回答我自己的问题 1) Google AdMobs没有可加载的横幅广告。 2) Google AdMobs没有在新应用上加载广告,它会等待来自多个已安装应用的多个请求来开始加载广告。这可能是为了避免任何误用 如果其他人也有同样的判断,那么一定要将这个答案提交给他们,因为每个人都会在编辑代码时浪费很多时间,尽管代码非常好
正如上面S.Gissel先生所建议的,我已经尝试了AdView Listeners,错误代码为3,即没有要加载的广告。当您在admob中创建广告单元和应用程序时?很多时候,提供服务需要几个小时。我认为要让它在真实设备中工作,您需要将您的设备添加为测试设备。查看此以了解更多信息Hi VikaS:已经两天了,结果仍然一样。------Hi sinan:我之前试过测试设备代码,但它不起作用。另外,我正在使用Build>Generate创建apk。。。Android Studio中的工具,因此我认为它类似于最终发布版本类型,因此不需要添加测试设备Id,否则我将如何分发应用程序。
MobileAds.initialize(this, new OnInitializationCompleteListener() {
@Override
public void onInitializationComplete(InitializationStatus initializationStatus) {
}
});
AdView mAdView = findViewById(R.id.adView);
AdRequest adRequest = new AdRequest.Builder()
.build();
mAdView.loadAd(adRequest);
mAdView.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
// Code to be executed when an ad finishes loading.
}
@Override
public void onAdFailedToLoad(int errorCode) {
Log.d("mAdView", "onAdFailedToLoad. But why? "+errorCode)
// Code to be executed when an ad request fails.
}
@Override
public void onAdOpened() {
// Code to be executed when an ad opens an overlay that
// covers the screen.
}
@Override
public void onAdClicked() {
// Code to be executed when the user clicks on an ad.
}
@Override
public void onAdLeftApplication() {
// Code to be executed when the user has left the app.
}
@Override
public void onAdClosed() {
// Code to be executed when the user is about to return
// to the app after tapping on an ad.
}
});
MobileAds.initialize(this, new OnInitializationCompleteListener() {
@Override
public void onInitializationComplete(InitializationStatus initializationStatus) {
Log.d("MobileAds", "#onInitializationComplete");
}
});