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

AdMob Crash Android

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


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

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

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

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 и A4G, добавьте 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 из проекта.

Для этого перейдите в раздел Настройка build.gradle, снимите флажок с сети Admob и сгенерируйте новый файл build.gradle с исключенными сетями.

В дополнение вам необходимо вручную исключить Notsy и Play Services Ads и использовать build.gradle файл со следующими настройками:

implementation("com.appodeal.ads:sdk:3.2.0.+") {
exclude(group = "com.appodeal.ads.sdk.networks", module = "admob")
exclude(group = "io.bidmachine", module = "ads.networks.notsy")
exclude(group = "com.google.android.gms", module = "play-services-ads")
}