Перейти к основному содержимому

Сбой AdMob

Android Studio: **Все версии ** | Appodeal SDK: Все версии


Если приложение даёт сбой сразу после запуска, проверьте логи на устройстве. Подключите устройство с установленным приложением, откройте консоль Android Studio Logcat, запустите приложение и проверьте логи. Дополнительные сведения о консоли см. в разделе Отладка с помощью Android Studio.

Следующий сбой происходит, если идентификатор приложения AdMob (AdMob App Id) не был указан в AndroidManifest.xml файле, что необходимо для интеграции AdMob. Appodeal SDK по умолчанию содержит адаптеры AdMob.

Пример лога сбоя:

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 here: *
* https://googlemobileadssdk.page.link/AdMob-android-update-manifest *
* to add a valid App ID inside the AndroidManifest. *
* Google Ad Manager publishers should follow instructions here: *
* https://googlemobileadssdk.page.link/ad-manager-android-update-manifest. *
**************************************************************************


at android.app.ActivityThread.installProvider(ActivityThread.java:7194)
at android.app.ActivityThread.installContentProviders(ActivityThread.java:6672)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6567)
at android.app.ActivityThread.access$1400(ActivityThread.java:224)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1887)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7562)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)
Caused by: java.lang.IllegalStateException:

...

Способы Решения

Использование AdMob В Приложении

Если вы планируете использовать AdMob в вашем приложении - добавьте AdMob App ID под тег meta-data в AndroidManifest.xml:

<manifest>
<application>
<!-- Add your AdMob App ID -->
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/>
</application>
</manifest>

AdMob App ID - это уникальный идентификатор, присвоенный вашему приложению.

Чтобы найти AdMob App ID в своем аккаунте AdMob, перейдите в Apps → Ваше Приложение → App settings и скопируйте AdMob App ID.

к сведению

Перед использованием AdMob убедитесь, что вы выполнили шаги из нашего руководства по интеграции AdMob и руководства AdMob sync.

Исключение AdMob Из Приложения

Если вы не планируете использовать AdMob в вашем приложении, выполните следующие шаги:

  1. Перейдите в раздел Настройка Медиационных Сетей, снимите флажок с сети AdMob и сгенерируйте новый файл build.gradle с исключенными сетями.
  1. В дополнение вам необходимо вручную исключить Play Services Ads и использовать build.gradle файл со следующими настройками:
implementation("com.appodeal.ads:sdk:3.2.1.+") {
exclude(group = "com.appodeal.ads.sdk.networks", module = "admob")
exclude(group = "com.google.android.gms", module = "play-services-ads")
}