【发布时间】:2016-09-18 13:24:55
【问题描述】:
在 2016 年 Google I/O 会议上,Firebase 全面集成的重大改进得到了展示。在我的应用程序中,我正在尝试迁移到新的解决方案,但有几个问题。其中之一是:
在我的 Firebase 应用中,我使用了一个参数来定义 Firebase 数据库,如下所示(gradle):
gradle.properties 文件:
FIREBASE_REF_REL="https://xxxxxxx.firebaseio.com/"
FIREBASE_REF_DEB="https://xxxxxxx-dev.firebaseio.com/"
build.gradle 文件:
buildTypes {
debug {
minifyEnabled false
multiDexEnabled true
it.buildConfigField 'String', 'FIREBASE_ROOT_URL', FIREBASE_REF_DEB
}
release {
minifyEnabled true
useProguard true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
zipAlignEnabled true
it.buildConfigField 'String', 'FIREBASE_ROOT_URL', FIREBASE_REF_REL
}
return true
}
这让我可以在调试 Firebase 环境中运行我的调试应用,这有助于我在不影响生产环境的情况下测试数据模型和安全规则的更改。
在新的 Firebase 解决方案中,这似乎不再可能,因为生成的 google-services.json 文件包含 Firebase 参考(如下所述:https://firebase.google.com/support/guides/firebase-android#import_your_project_to_the_new_firebase_console_numbered)。
当尝试引用我的调试数据库时,我收到以下类型的错误:
Caused by: com.google.firebase.database.DatabaseException: Invalid URL (https://xxxxxxx-dev.firebaseio.com/) passed to getReference(). URL was expected to match configured Database URL: https://xxxxx.firebaseio.com
我的问题:在新情况下,针对测试 Firebase 数据库运行应用程序的正确方法/最佳做法是什么?
【问题讨论】:
标签: android firebase google-play-services firebase-realtime-database