I update my Android Studio (3.2.1) and its sdk to the latest version. After that it required a manual update for Manifest by adding these tags:
<application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:roundIcon="@drawable/ic_launcher" android:supportsRtl="true" android:theme="@style/AppTheme" tools:ignore="AllowBackup,GoogleAppIndexingWarning"> <meta-data android:name="com.google.android.gms.ads.APP_ID" android:value="ca-app-pub-#############"/> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".NewActivity" /> <activity android:name=".PreviewActivity" /> <activity android:name=".EditActivity" /> <activity android:name=".preferencesdata.AboutActivity" android:theme="@style/Theme.AppCompat.DayNight.NoActionBar" /> <activity android:name=".preferencesdata.SettingsActivity" android:label="@string/settings"> <meta-data android:name="android.support.PARENT_ACTIVITY" android:value=".MainActivity"/> </activity> </application>
whereby instead the app ID I put the real id of my app. The value has also been changed to the right Ad Unit id as shown here https://developers.google.com/admob/android/quick-start. I also called this function in the MainActivity.kt:
MobileAds.initialize(this, resources.getString(R.string.banner_ad_unit_id))
However, the problem could not be solved. It still prints as follows:
E/AndroidRuntime: FATAL EXCEPTION: main Process: com.easyapps.cryptnote, PID: 3991 java.lang.RuntimeException: Unable to get provider com.google.android.gms.ads.MobileAdsInitProvider: java.lang.IllegalStateException: ****************************************************************************** * The Google Mobile Ads SDK was initialized incorrectly. AdMob publishers * * should follow the instructions LINK to add a valid * * App ID inside the AndroidManifest. Google Ad Manager publishers should * * follow instructions here: LINK. * ****************************************************************************** at android.app.ActivityThread.installProvider(ActivityThread.java:5156) at android.app.ActivityThread.installContentProviders(ActivityThread.java:4748) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4688) at android.app.ActivityThread.-wrap1(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1405) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) Caused by: java.lang.IllegalStateException: ****************************************************************************** * The Google Mobile Ads SDK was initialized incorrectly. AdMob publishers * * should follow the instructions here: LINK to add a valid * * App ID inside the AndroidManifest. Google Ad Manager publishers should * * follow instructions here: LINK. * ****************************************************************************** at com.google.android.gms.internal.ads.zzmn.attachInfo(Unknown Source) at com.google.android.gms.ads.MobileAdsInitProvider.attachInfo(Unknown Source) at android.app.ActivityThread.installProvider(ActivityThread.java:5153) ... 10 more
Could someone tel me why it does happen or help me to solve it? I tried to google the issue, but there are no solutions. It seems to be an a new still unsolved issue. Many thanks in advance.
This happened due to updated AdMob SDK. Now you need to add appID in your manifest file.
<application> . . . <meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="ca-app-pub-################~##########"/> </application>
You can get appID from here -->Google addmob -->Select app --> App Settings --> App ID.
You can read more from here ads-developers.
If you want to use test ads before putting your own id check the AdMob test ids from here developers.google.
Hope this will help you. Thanks :)
Google gave update for the Google ads so if you update your Admob library in gradle then you need to add this in your manifest.
<manifest> <application> <!-- TODO: Replace with your real AdMob app ID --> <meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="ca-app-pub-################~##########"/> </application> </manifest>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With