构建EAS应用集成react-native-google-mobile-ads时启动崩溃报错
集成react-native-google-mobile-ads到EAS应用启动崩溃:Invalid application ID
操作步骤
- 执行命令初始化项目并安装依赖:
expo init expo install expo-dev-client expo install react-native-google-mobile-ads eas prebuild - 修改
app.json配置:{ "expo": { "name": "testing-new-eas", "slug": "testing-new-eas", "version": "1.0.0", "orientation": "portrait", "icon": "./assets/icon.png", "userInterfaceStyle": "light", "splash": { "image": "./assets/splash.png", "resizeMode": "contain", "backgroundColor": "#ffffff" }, "updates": { "fallbackToCacheTimeout": 0 }, "assetBundlePatterns": [ "**/*" ], "ios": { "supportsTablet": true }, "android": { "adaptiveIcon": { "foregroundImage": "./assets/adaptive-icon.png", "backgroundColor": "#FFFFFF" }, "package": "com.basselturky.testingneweas" }, "web": { "favicon": "./assets/favicon.png" }, "extra": { "eas": { "projectId": "3807fdfa-75de-4baf-8e76-951ee8dc5d70" } } }, "react-native-google-mobile-ads": { "android_app_id": "ca-app-pub-************", "ios_app_id": "ca-app-pub-************" } } - 配置
AndroidManifest.xml:<meta-data android:name="com.google.android.gms.ads.DELAY_APP_MEASUREMENT_INIT" android:value="false"/> <meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="ca-app-pub-***my_ad_id***"/>
问题现象
执行eas build --profile development -p android构建APK并安装到安卓模拟器后,启动expo start --dev-client时应用直接崩溃。Android Studio Logcat核心报错为:
Unable to get provider com.google.android.gms.ads.MobileAdsInitProvider: java.lang.IllegalStateException: Invalid application ID.
完整报错日志如下:
--------- beginning of crash 2022-10-12 03:38:24.531 8638-8638/com.basselturky.testingneweas E/AndroidRuntime: FATAL EXCEPTION: main Process: com.basselturky.testingneweas, PID: 8638 java.lang.RuntimeException: Unable to get provider com.google.android.gms.ads.MobileAdsInitProvider: java.lang.IllegalStateException: ****************************************************************************** * Invalid application ID. Follow instructions here: * * https://googlemobileadssdk.page.link/admob-android-update-manifest * * to find your app ID. * ****************************************************************************** at android.app.ActivityThread.installProvider(ActivityThread.java:6988) at android.app.ActivityThread.installContentProviders(ActivityThread.java:6528) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6445) at android.app.ActivityThread.access$1300(ActivityThread.java:219) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1859) at android.os.Handler.dispatchMessage(Handler.java:107) at android.os.Looper.loop(Looper.java:214) at android.app.ActivityThread.main(ActivityThread.java:7356) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930) Caused by: java.lang.IllegalStateException: ****************************************************************************** * Invalid application ID. Follow instructions here: * * https://googlemobileadssdk.page.link/admob-android-update-manifest * * to find your app ID. * ****************************************************************************** at com.google.android.gms.ads.internal.client.zzee.attachInfo(com.google.android.gms:play-services-ads-lite@@21.2.0:22) at com.google.android.gms.ads.MobileAdsInitProvider.attachInfo(com.google.android.gms:play-services-ads-lite@@21.2.0:1) at android.app.ActivityThread.installProvider(ActivityThread.java:6983) ... 10 more
尝试使用AdMob官方测试ID,问题仍未解决。
内容的提问来源于stack exchange,提问作者Bassel Turky
相关产品推荐
相关产品推荐

