更换Google账号后React Native项目Firestore数据无法上传如何排查
排查步骤
1. 确认项目ID匹配
打开你项目中更新后的
google-services.json文件,核对project_id字段值,和你当前打开的Firebase控制台左上角显示的项目ID是否完全一致,避免控制台停留在旧项目页面导致找不到新增数据。2. 检查Firestore安全规则
新创建的Firebase项目默认Firestore安全规则为拒绝所有读写请求,而Firebase SDK默认开启离线持久化,写入操作会先在本地执行成功触发
then回调,后续同步到云端时才会被规则拦截,导致控制台看不到数据。
前往新Firebase项目的Firestore控制台「规则」标签页,可先临时替换为测试规则验证问题:rules_version = '2'; service cloud.firestore { match /databases/{database}/documents { match /{document=**} { allow read, write: if request.time < timestamp.date(2024, 12, 31); } } }修改后等待2分钟规则生效再重试写入操作。
3. 开启SDK调试日志定位错误
在Firestore初始化代码后添加日志级别配置,打印同步过程的详细错误:
firestore().setLogLevel('debug');执行写入操作后查看终端日志,可直接定位是否有权限、配置错误、网络等相关问题。
4. 验证集合/文档路径是否正确
你的集合名由
年份+月份拼接生成,注意getMonth()返回值为0基,拼接后的月份没有补零(例如1月会生成20241而非202401),可在执行set前打印集合名、文档ID,确认和控制台查找的路径完全一致,避免找错集合。5. 确认新配置已生效
更换
google-services.json后需要完全清理旧编译缓存重新打包,否则App仍会使用旧配置:- 安卓端:删除
android/app/build目录,执行./gradlew clean后重新编译运行 - iOS端:删除
ios/build目录,执行pod install后重新编译运行
- 安卓端:删除
内容的提问来源于stack exchange,提问作者TheTRCG
相关产品推荐
相关产品推荐

