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 файл со следующими настройками:
- Kotlin
- Java
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")
}
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'
}