我遇到了Admob的问题。在模拟器和真实设备上使用测试AppId和AdUnitId都可以正常工作,两台设备都显示“Nice Job”测试广告。
创建我的AppId和我的AdUnitId后,模拟器显示下一级广告并正常工作,但真实设备没有显示任何广告视图栏。
我的代码如下-
build.gradle ModuleApp
dependencies { ...
implementation '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>
在onCreate()方法中的CurrentActivity.java
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{...}。这个要求是什么,因为即使没有添加代码,该应用程序仍然可以工作。
我在网上找到了一些类似的问题,但没有找到/理解正确的解决方案。