在Google I/O 2016会议中,显示了对Firebase完全集成的重大改进.在我的应用程序中,我正在尝试迁移到新的解决方案,但有几个问题.其中之一是以下内容:
在我的Firebase应用中,我使用参数来定义Firebase数据库,如下所示(gradle):
gradle.properties文件:
FIREBASE_REF_REL="https://xxxxxxx.firebaseio.com/"
FIREBASE_REF_DEB="https://xxxxxxx-dev.firebaseio.com/"
Run Code Online (Sandbox Code Playgroud)
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
}
Run Code Online (Sandbox Code Playgroud)
这使我能够针对调试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
Run Code Online (Sandbox Code Playgroud)
我的问题:在新情况下针对测试Firebase数据库运行应用程序的正确方法/最佳做法是什么?
android firebase google-play-services firebase-realtime-database