I know many people have asked similar question but no one can help me.
I am developing an android app. At the beginning, I have added the adView in my layout using the test ads ID look like this:
<com.google.android.gms.ads.AdView
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:id="@+id/adView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"
ads:adSize="BANNER"
ads:adUnitId="ca-app-pub-3940256099942544/6300978111"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintStart_toStartOf="parent"/>
I have followed the guide provided by AdMob, updated the app ID in Manifest:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.Scoreboard">
<activity android:name="com.example.scoreboard.MainActivity"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ca-app-pub-3940256099942544~3347511713"/>
</application>
My MainActivity is also follow the guide:
public class MainActivity extends AppCompatActivity {
private AdView mAdView;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
MobileAds.initialize(this, new OnInitializationCompleteListener() {
@Override
public void onInitializationComplete(InitializationStatus initializationStatus) {
}
});
mAdView = findViewById(R.id.adView);
AdRequest adRequest = new AdRequest.Builder().build();
mAdView.loadAd(adRequest);
}
Everything work find at the beginning, but somehow the ads doesn't show up suddenly and I find out this message:
10-26 11:30:09.622 4049-4186/com.example.scoreboard I/Ads: SDK version: afma-sdk-a-v203404000.203404000.0
10-26 11:30:09.622 4049-4186/com.example.scoreboard I/Ads: HTTP timeout: 60000 milliseconds.
10-26 11:30:09.712 4049-4049/com.example.scoreboard E/MainActivity: The error of ads: {
"Response Info": {
"Adapter Responses": [],
"Mediation Adapter Class Name": "",
"Response ID": "null"
},
"Domain": "com.google.android.gms.ads",
"Message": "No fill.",
"Code": 3,
"Cause": "null"
}
As I am using the ads ID and app ID provided by AdMob for testing, I don't know why the ad does not show up suddenly. I have try to use my own app ID, but still the same. Anyone know why this is happening?
I discover 2 exceptions of the ads in my logcat lately after asking this question, hope this can help:
10-26 12:36:39.227 4769-4769/com.example.scoreboard W/Ads: #007 Could not call remote method. @28
com.google.android.gms.internal.ads.zzazf: com.google.android.gms.dynamite.DynamiteModule$LoadingException: Failed to instantiate module class: com.google.android.gms.ads.omid.DynamiteOmid
at com.google.android.gms.internal.ads.zzazd.zza(com.google.android.gms:play-services-ads-lite@@19.5.0:3)
at com.google.android.gms.internal.ads.zzard.zzn(com.google.android.gms:play-services-ads-lite@@19.5.0:22)
at com.google.android.gms.internal.ads.zzard.getVersion(com.google.android.gms:play-services-ads-lite@@19.5.0:31)
at com.google.android.gms.internal.ads.zzdds.zzasx(com.google.android.gms:play-services-ads@@19.5.0:10)
at com.google.android.gms.internal.ads.zzddv.call(com.google.android.gms:play-services-ads@@19.5.0)
at com.google.android.gms.internal.ads.zzdzq.zzazk(com.google.android.gms:play-services-ads@@19.5.0:5)
at com.google.android.gms.internal.ads.zzdyy.run(com.google.android.gms:play-services-ads@@19.5.0:8)
at com.google.android.gms.internal.ads.zzdzo.run(com.google.android.gms:play-services-ads@@19.5.0:11)
at com.google.android.gms.internal.ads.zzazk.execute(com.google.android.gms:play-services-ads@@19.5.0:4)
at com.google.android.gms.internal.ads.zzazn.execute(com.google.android.gms:play-services-ads@@19.5.0:4)
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:103)
at com.google.android.gms.internal.ads.zzdxr.zze(com.google.android.gms:play-services-ads@@19.5.0:5)
at com.google.android.gms.internal.ads.zzdds.zzasm(com.google.android.gms:play-services-ads@@19.5.0:6)
at com.google.android.gms.internal.ads.zzdfl.zzt(com.google.android.gms:play-services-ads@@19.5.0:7)
at com.google.android.gms.internal.ads.zzbqz.zzakq(com.google.android.gms:play-services-ads@@19.5.0:13)
at com.google.android.gms.internal.ads.zzbqz.zzakr(com.google.android.gms:play-services-ads@@19.5.0:14)
at com.google.android.gms.internal.ads.zzboz.zzaki(com.google.android.gms:play-services-ads@@19.5.0:39)
at com.google.android.gms.internal.ads.zzboz.zzakj(com.google.android.gms:play-services-ads@@19.5.0:59)
at com.google.android.gms.internal.ads.zzcxm.zzg(com.google.android.gms:play-services-ads@@19.5.0:40)
at com.google.android.gms.internal.ads.zzcxm.zza(com.google.android.gms:play-services-ads@@19.5.0:16)
at com.google.android.gms.internal.ads.zzzc.zza(com.google.android.gms:play-services-ads-lite@@19.5.0:120)
at com.google.android.gms.ads.BaseAdView.loadAd(com.google.android.gms:play-services-ads-lite@@19.5.0:15)
at com.google.android.gms.ads.AdView.loadAd(com.google.android.gms:play-services-ads-lite@@19.5.0:20)
at com.example.scoreboard.MainActivity.onCreate(MainActivity.java:70)
at android.app.Activity.performCreate(Activity.java:5008)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2023)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
at android.app.ActivityThread.access$600(ActivityThread.java:130)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4745)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
Caused by: com.google.android.gms.dynamite.DynamiteModule$LoadingException: Failed to instantiate module class: com.google.android.gms.ads.omid.DynamiteOmid
at com.google.android.gms.dynamite.DynamiteModule.instantiate(com.google.android.gms:play-services-basement@@17.3.0:260)
at com.google.android.gms.internal.ads.zzazd.zza(com.google.android.gms:play-services-ads-lite@@19.5.0:1)
at com.google.android.gms.internal.ads.zzard.zzn(com.google.android.gms:play-services-ads-lite@@19.5.0:22)
at com.google.android.gms.internal.ads.zzard.getVersion(com.google.android.gms:play-services-ads-lite@@19.5.0:31)
at com.google.android.gms.internal.ads.zzdds.zzasx(com.google.android.gms:play-services-ads@@19.5.0:10)
at com.google.android.gms.internal.ads.zzddv.call(com.google.android.gms:play-services-ads@@19.5.0)
at com.google.android.gms.internal.ads.zzdzq.zzazk(com.google.android.gms:play-services-ads@@19.5.0:5)
at com.google.android.gms.internal.ads.zzdyy.run(com.google.android.gms:play-services-ads@@19.5.0:8)
at com.google.android.gms.internal.ads.zzdzo.run(com.google.android.gms:play-services-ads@@19.5.0:11)
at com.google.android.gms.internal.ads.zzazk.execute(com.google.android.gms:play-services-ads@@19.5.0:4)
at com.google.android.gms.internal.ads.zzazn.execute(com.google.android.gms:play-services-ads@@19.5.0:4)
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:103)
at com.google.android.gms.internal.ads.zzdxr.zze(com.google.android.gms:play-services-ads@@19.5.0:5)
at com.google.android.gms.internal.ads.zzdds.zzasm(com.google.android.gms:play-services-ads@@19.5.0:6)
at com.google.android.gms.internal.ads.zzdfl.zzt(com.google.android.gms:play-services-ads@@19.5.0:7)
at com.google.android.gms.internal.ads.zzbqz.zzakq(com.google.android.gms:play-services-ads@@19.5.0:13)
at com.google.android.gms.internal.ads.zzbqz.zzakr(com.google.android.gms:play-services-ads@@19.5.0:14)
at com.google.android.gms.internal.ads.zzboz.zzaki(com.google.android.gms:play-services-ads@@19.5.0:39)
at com.google.android.gms.internal.ads.zzboz.zzakj(com.google.android.gms:play-services-ads@@19.5.0:59)
at com.google.android.gms.internal.ads.zzcxm.zzg(com.google.android.gms:play-services-ads@@19.5.0:40)
at com.google.android.gms.internal.ads.zzcxm.zza(com.google.android.gms:play-services-ads@@19.5.0:16)
at com.google.android.gms.internal.ads.zzzc.zza(com.google.android.gms:play-services-ads-lite@@19.5.0:120)
at com.google.android.gms.ads.BaseAdView.loadAd(com.google.android.gms:play-services-ads-lite@@19.5.0:15)
at com.google.android.gms.ads.AdView.loadAd(com.google.android.gms:play-services-ads-lite@@19.5.0:20)
at com.example.scoreboard.MainActivity.onCreate(MainActivity.java:70)
at android.app.Activity.performCreate(Activity.java:5008)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2023)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
at android.app.ActivityThread.access$600(ActivityThread.java:130)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4745)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: com.google.android.gm
10-26 12:36:39.227 4769-4769/com.example.scoreboard W/Ads: #007 Could not call remote method. @28
java.lang.NullPointerException
at com.google.android.gms.internal.ads.zzard.getVersion(com.google.android.gms:play-services-ads-lite@@19.5.0:32)
at com.google.android.gms.internal.ads.zzdds.zzasx(com.google.android.gms:play-services-ads@@19.5.0:10)
at com.google.android.gms.internal.ads.zzddv.call(com.google.android.gms:play-services-ads@@19.5.0)
at com.google.android.gms.internal.ads.zzdzq.zzazk(com.google.android.gms:play-services-ads@@19.5.0:5)
at com.google.android.gms.internal.ads.zzdyy.run(com.google.android.gms:play-services-ads@@19.5.0:8)
at com.google.android.gms.internal.ads.zzdzo.run(com.google.android.gms:play-services-ads@@19.5.0:11)
at com.google.android.gms.internal.ads.zzazk.execute(com.google.android.gms:play-services-ads@@19.5.0:4)
at com.google.android.gms.internal.ads.zzazn.execute(com.google.android.gms:play-services-ads@@19.5.0:4)
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:103)
at com.google.android.gms.internal.ads.zzdxr.zze(com.google.android.gms:play-services-ads@@19.5.0:5)
at com.google.android.gms.internal.ads.zzdds.zzasm(com.google.android.gms:play-services-ads@@19.5.0:6)
at com.google.android.gms.internal.ads.zzdfl.zzt(com.google.android.gms:play-services-ads@@19.5.0:7)
at com.google.android.gms.internal.ads.zzbqz.zzakq(com.google.android.gms:play-services-ads@@19.5.0:13)
at com.google.android.gms.internal.ads.zzbqz.zzakr(com.google.android.gms:play-services-ads@@19.5.0:14)
at com.google.android.gms.internal.ads.zzboz.zzaki(com.google.android.gms:play-services-ads@@19.5.0:39)
at com.google.android.gms.internal.ads.zzboz.zzakj(com.google.android.gms:play-services-ads@@19.5.0:59)
at com.google.android.gms.internal.ads.zzcxm.zzg(com.google.android.gms:play-services-ads@@19.5.0:40)
at com.google.android.gms.internal.ads.zzcxm.zza(com.google.android.gms:play-services-ads@@19.5.0:16)
at com.google.android.gms.internal.ads.zzzc.zza(com.google.android.gms:play-services-ads-lite@@19.5.0:120)
at com.google.android.gms.ads.BaseAdView.loadAd(com.google.android.gms:play-services-ads-lite@@19.5.0:15)
at com.google.android.gms.ads.AdView.loadAd(com.google.android.gms:play-services-ads-lite@@19.5.0:20)
at com.example.scoreboard.MainActivity.onCreate(MainActivity.java:70)
at android.app.Activity.performCreate(Activity.java:5008)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2023)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
at android.app.ActivityThread.access$600(ActivityThread.java:130)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4745)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
Following is the build.gradle of my app:
plugins {
id 'com.android.application'
}
android {
compileSdkVersion 29
defaultConfig {
applicationId "com.example.scoreboard"
minSdkVersion 16
targetSdkVersion 29
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'com.google.android.material:material:1.1.0'
implementation 'androidx.constraintlayout:constraintlayout:2.0.2'
implementation 'com.google.android.gms:play-services-ads:19.5.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
}
I use this to load ads: