我遇到了Admob问题,可以在模拟器和真实设备上测试AppId和AdUnitId正常工作。 两种设备都显示“ Nice Job”测试广告
在创建我的AppId和My AdUnitId之后,模拟器将显示下一级广告并正常工作 但实际设备什么也没显示。真实设备中没有广告查看栏
我的代码如下-
build.gradle ModuleApp
依赖项{ ...
实施'com.google.android.gms:play-services-ads:18.3.0'}
AndroidManifest.xml
<application ... <meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="@string/xsAdmobMyAppId"/> </application>
activity_current.xml
<com.google.android.gms.ads.AdView
android:id="@+id/adView"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
app:adSize="BANNER"
app:adUnitId="@string/xsAdmobMyBannerUnitId">
</com.google.android.gms.ads.AdView>
CurrentActivity.java位于onCreate()
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);
又一个查询: 它显示在developers.google.com入门信息中,用于添加MobileAds.initialize {...} 这有什么要求,因为即使未添加代码,应用程序仍可正常工作。
我在网上发现了一些类似的问题,但没有找到/理解正确的解决方案。
答案 0 :(得分:0)
将侦听器添加到您的AdView中,以获取有关为什么无法加载广告的更多信息。
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 :(得分:0)
1个月后,只有2次广告被加载到我的应用中。我仍然没有分发该应用程序。所有请求和2个负载都显示在我的AdMobs信息中心中。
所以现在我建议对我自己的问题回答2个答案 1)Google AdMobs没有要加载的横幅广告。 2)Google AdMobs未在新应用上加载广告,它等待来自多个已安装应用的多个请求开始加载广告。这可能是为了避免任何滥用。
如果其他人也有相同的判断,那么请将此答案转给他们,因为尽管代码完美无缺,每个人都将浪费大量时间来编辑代码。
按照上面的S.Gissel先生的建议,我已经尝试过AdView监听器,错误代码为3,即没有要加载的广告。