【问题标题】:How to work on Firebase project without impacting users?如何在不影响用户的情况下处理 Firebase 项目?
【发布时间】:2018-06-08 15:40:20
【问题描述】:

我希望能够在不影响当前用户的情况下使用我的应用。但是,我仍然想使用当前的数据结构和存储中的文件。我想在没有用户看到这些操作的情况下测试发布数据和查询数据。这样做的最佳方法是什么?

目前我想在 Firebase 中制作另一个项目。我可以导出数据库的 JSON,但我将无法访问存储中的文件?我看不到导出存储中所有文件的方法,所以我不确定如何继续。

更新

不确定我是否应该删除这个问题,因为它似乎与this question 重复。

【问题讨论】:

    标签: ios firebase firebase-realtime-database firebase-storage


    【解决方案1】:

    强烈建议为不同的环境(开发、测试、阶段、产品等)设置不同的项目。您不应该在生产环境中进行测试。

    https://firebase.googleblog.com/2016/08/organizing-your-firebase-enabled-android-app-builds.html

    如果您使用的是 iOS,您可以查看 this questionthis Gistthis blog post.

    【讨论】:

      【解决方案2】:

      查看documentation,您可以通过手动配置您的 GoogleService-Info.plist 来轻松做到这一点:

      // Configure with manual options.
      let secondaryOptions = FirebaseOptions(googleAppID: "1:27992087142:ios:2a4732a34787067a", gcmSenderID: "27992087142")
      secondaryOptions.bundleID = "com.google.firebase.devrel.FiroptionConfiguration"
      secondaryOptions.apiKey = "AIzaSyBicqfAZPvMgC7NZkjayUEsrepxuXzZDsk"
      secondaryOptions.clientID = "27992087142-ola6qe637ulk8780vl8mo5vogegkm23n.apps.googleusercontent.com"
      secondaryOptions.databaseURL = "https://myproject.firebaseio.com"
      secondaryOptions.storageBucket = "myproject.appspot.com"
      

      您可以像这样将其合并到您的 AppDelegate 中:

      func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
          if !isDebug {
              print("setting config for release")
              let releaseOptions = FirebaseOptions(googleAppID: "1:27992087142:ios:2a4732a34787067a", gcmSenderID: "27992087142")
              releaseOptions.bundleID = "com.myProject"
              releaseOptions.apiKey = "AIzaSyBicqfAZPvMgC7NZkjayUEsrepxuXzZDsk"
              releaseOptions.clientID = "27992087142-ola6qe637ulk8780vl8mo5vogegkm23n.apps.googleusercontent.com"
              releaseOptions.databaseURL = "https://myproject.firebaseio.com"
              releaseOptions.storageBucket = "myproject.appspot.com"
              FirebaseApp.configure(options: releaseOptions)
          }
          else {
              print("setting config for debug")
              let debugOptions = FirebaseOptions(googleAppID: "DebugID", gcmSenderID: "DebugSender")
              debugOptions.bundleID = "com.myProjectDebug"
              debugOptions.apiKey = "Debug API key"
              debugOptions.clientID = "Debug Client ID
              debugOptions.databaseURL = "https://myprojectDebug.firebaseio.com"
              debugOptions.storageBucket = "myprojectDebug.appspot.com"
              FirebaseApp.configure(options: debugOptions)
          }
          return true
      }
      

      然后,您只需翻转isDebug 的值即可确定加载的应用程序版本。使用此方法还允许分析在应用程序的两个版本上工作。对于生产代码,只需删除 isDebug 和 else 情况。

      【讨论】:

        猜你喜欢
        • 2021-02-23
        • 1970-01-01
        • 1970-01-01
        • 2016-02-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-12-03
        • 1970-01-01
        相关资源
        最近更新 更多