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

如何在Android端React Native项目中安装配置Firebase AppCheck?

React Native Android端Firebase AppCheck配置教程

你当前使用的@react-native-firebase v12.6.0版本未内置AppCheck封装模块,可选择以下两种方案完成配置:


方案一:升级rnfirebase版本后接入(推荐操作)

该方案操作简单,上层JS可直接调用AppCheck相关能力

  1. 升级兼容版本依赖
yarn add @react-native-firebase/app@14.9.4 @react-native-firebase/database@14.9.4 @react-native-firebase/analytics@14.9.4 @react-native-firebase/app-check@14.9.4

注意所有rnfirebase相关模块必须保持版本一致,该版本适配你当前使用的React Native 0.63.4

  1. 添加Android端SafetyNet依赖
    打开android/app/build.gradle文件,在dependencies代码块中新增声明:
implementation "com.google.firebase:firebase-appcheck-safetynet:16.1.2"
  1. JS层初始化AppCheck
    修改你的index.js文件,调整为以下内容:
/**
 * @format
 */

import { AppRegistry } from 'react-native';
import App from './App';
import { name as appName } from './app.json';
import firebase from '@react-native-firebase/app'
import '@react-native-firebase/app-check'

// 初始化AppCheck
if (__DEV__) {
  // 开发环境填入Firebase控制台AppCheck页面生成的调试令牌
  firebase.appCheck().activate(
    '你从控制台获取的调试令牌',
    true // 自动刷新令牌
  );
} else {
  // 生产环境默认加载SafetyNet校验
  firebase.appCheck().activate(
    undefined,
    true
  );
}

AppRegistry.registerComponent(appName, () => App);
  1. 校验配置
    启动应用后调用实时数据库接口,查看Firebase控制台AppCheck的请求统计页面,确认Android端请求已通过校验后即可开启AppCheck强制模式。

方案二:不升级rnfirebase版本,原生层接入

如果不想改动现有依赖版本,可直接在Android原生层完成AppCheck初始化,上层JS代码无需修改:

  1. 添加Android端依赖
    打开android/app/build.gradle文件,在dependencies代码块中新增声明:
implementation "com.google.firebase:firebase-appcheck-safetynet:16.1.2"
implementation "com.google.firebase:firebase-appcheck-debug:16.1.2"
  1. 原生层初始化AppCheck
    打开android/app/src/main/java/你的应用包名/MainApplication.java文件,修改onCreate方法:
import com.google.firebase.FirebaseApp;
import com.google.firebase.appcheck.FirebaseAppCheck;
import com.google.firebase.appcheck.safetynet.SafetyNetAppCheckProviderFactory;
import com.google.firebase.appcheck.debug.DebugAppCheckProviderFactory;

@Override
public void onCreate() {
  super.onCreate();
  // ...原有其他初始化代码保持不变
  FirebaseApp.initializeApp(this);
  FirebaseAppCheck appCheck = FirebaseAppCheck.getInstance();
  if (BuildConfig.DEBUG) {
    // 开发环境用调试模式
    appCheck.installAppCheckProviderFactory(
        DebugAppCheckProviderFactory.getInstance());
  } else {
    // 生产环境用SafetyNet校验
    appCheck.installAppCheckProviderFactory(
        SafetyNetAppCheckProviderFactory.getInstance());
  }
}

常见异常排查

  • SafetyNet校验失败优先检查Firebase控制台Android应用配置中,是否正确添加了测试环境和生产环境签名对应的SHA-256指纹
  • 开发阶段不要开启AppCheck强制模式,避免调试请求被拦截
  • 所有Firebase相关SDK版本需保持兼容,避免出现类加载异常

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 09:54:02