Expo集成react-native-google-mobile-ads后持续报错求助
解决方案:Expo 48接入react-native-google-mobile-ads报错问题
核心问题:版本兼容性不匹配
react-native-google-mobile-ads@11.x 要求最低Expo SDK版本为49,而你当前使用的是SDK 48,这是导致报错的主要原因。
两种修复方向:
- 升级Expo SDK到49+
- 执行Expo升级命令:
npx expo upgrade 49 - 升级完成后重新安装依赖、预构建项目
- 执行Expo升级命令:
- 降级react-native-google-mobile-ads到适配SDK48的版本
- 卸载当前版本:
npm uninstall react-native-google-mobile-ads - 安装适配版本:
npm install react-native-google-mobile-ads@^10.8.1
- 卸载当前版本:
额外必做配置检查
Managed项目需配置插件并预构建
在app.json或app.config.js中添加插件配置:{ "expo": { "plugins": [ [ "react-native-google-mobile-ads", { "androidAppId": "你的安卓AdMob AppID", "iosAppId": "你的iOS AdMob AppID" } ] ] } }执行预构建命令:
npx expo prebuild,之后启动项目:npx expo start --clear清理项目缓存
- 清理Expo缓存:
npx expo start --clear - 清理Node依赖缓存:
rm -rf node_modules package-lock.json npm install - 安卓端清理Gradle缓存:
cd android && ./gradlew clean cd ..
- 清理Expo缓存:
Bare项目原生配置检查
- 安卓:确保
AndroidManifest.xml中已添加AdMob AppID元数据:<meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="ca-app-pub-xxxxxxxx~xxxxxxxx"/> - iOS:确保
Info.plist中已添加:<key>GADApplicationIdentifier</key> <string>ca-app-pub-xxxxxxxx~xxxxxxxx</string>
- 安卓:确保
内容的提问来源于stack exchange,提问作者ttars
相关产品推荐
相关产品推荐

