You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native集成Admob遇RNGoogleMobileAdsModule找不到错误求助

React Native Admob集成:RNGoogleMobileAdsModule找不到问题排查与解决

核心问题分析

你遇到的Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'RNGoogleMobileAdsModule' could not be found错误,本质是原生模块未正确适配项目环境——用npx create-react-native-app创建的是Expo Managed项目,无法直接使用原生依赖的react-native-google-mobile-ads库,必须切换为Expo官方适配的Admob解决方案。

分步解决方案

1. 替换为Expo兼容的Admob库

卸载原有的原生Admob库,安装Expo官方提供的expo-ads-admob:

# 若之前安装过react-native-google-mobile-ads,先卸载
npm uninstall react-native-google-mobile-ads
# 安装expo适配库
npx expo install expo-ads-admob

2. 修正app.json配置

在app.json的expo字段下添加Admob相关配置,替换原有无效配置:

"expo": {
  // 其他原有配置
  "android": {
    "config": {
      "googleMobileAdsAppId": "ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"
    }
  },
  "ios": {
    "config": {
      "googleMobileAdsAppId": "ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"
    },
    "infoPlist": {
      "NSUserTrackingUsageDescription": "此应用使用广告标识符为您提供个性化广告内容"
    }
  },
  "plugins": [
    [
      "expo-ads-admob",
      {
        "userTrackingPermission": "此应用使用广告标识符为您提供个性化广告内容"
      }
    ]
  ]
}

注意:替换googleMobileAdsAppId为你的Admob后台应用ID,iOS必须添加用户跟踪权限描述

3. 重写测试广告组件代码

将你的Copybase.js替换为Expo适配的广告组件实现,以横幅广告为例:

import React from 'react';
import { View } from 'react-native';
import { BannerAd, BannerAdSize, TestIds } from 'expo-ads-admob';

export default function Copybase() {
  return (
    <View style={{ flex: 1, justifyContent: 'flex-end', width: '100%' }}>
      <BannerAd
        unitId={TestIds.BANNER}
        size={BannerAdSize.BANNER}
        onAdLoaded={() => console.log('广告加载成功')}
        onAdFailedToLoad={(error) => console.error('广告加载失败:', error)}
      />
    </View>
  );
}

发布时需将TestIds.BANNER替换为真实广告单元ID

4. 清除缓存并重启项目

执行以下命令重置项目环境,避免缓存导致的配置不生效:

npx expo r -c

重启Expo开发服务器后,重新加载项目。

5. 预构建项目的额外检查

如果你的项目已执行过npx expo prebuild转为Bare Workflow,需验证原生配置:

  • Android:检查android/app/src/main/AndroidManifest.xml是否包含Admob应用ID的meta-data标签
  • iOS:检查ios/[项目名]/Info.plist是否存在GADApplicationIdentifier字段和ATT权限描述

内容的提问来源于stack exchange,提问作者Priyanshu kuntal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 01:03:23