用于开发和生产的 Firebase 存储

Firebase storage for dev and prod

如何在 android 中将我的 firebase 产品和开发存储与构建类型或风格分开?

我已经知道如何分离数据库,但这不适用于存储。
问题是实例化存储的代码不依赖于 google-services.json 而是固定的 url :
FirebaseStorage.getInstance().getReferenceFromUrl("gs://dev-app.appspot.com");

  1. 设置在build.gradle(模块级别)
 buildTypes {
        debug {
            buildConfigField "String", "BASE_URL", '"gs://dev-app.appspot.com"'
        }
        release {
            buildConfigField "String", "BASE_URL", '"gs://prod-app.appspot.com"'
        }
  1. 在您的代码中使用

    FirebaseStorage.getInstance().getReferenceFromUrl(BuildConfig.BASE_URL);

公认的答案并不是分离构建的最可靠方法。我在this blog post on the Firebase Blog写了一套比较全面的解决方案。更改默认存储桶就像在处理 google-services.json 时更改默认数据库 URL - 您不需要烘焙存储桶的常量值 URL进入你的代码。