我正在尝试构建EAS应用程序以使用react-native-google-mobile-ads
下面是我的诗云:
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
构建了它
在我的Android模拟器上安装了APK文件,然后expo start --dev-client
每次我启动应用程序,它崩溃,我得到这个错误的Android Studio Logcat。
我甚至试过AdMob测试ID,但它一直说“Invalid application ID.
“
Logcat错误:
--------- 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
1条答案
按热度按时间ljsrvy3e1#
我已查明导致此崩溃/错误的原因。
我使用了AdMob广告单元中的广告ID,而不是app.json中的应用ID
解决方法:
已更改此:
有了这个:
给您带来不便,敬请谅解:)
并且EAS构建仅需要这些步骤,
编辑app.json:
第一个