【问题标题】:Use multiple google-services.json and GoogleService-Info.plist files in one flavor/target在一个风格/目标中使用多个 google-services.json 和 GoogleService-Info.plist 文件
【发布时间】:2017-10-19 05:38:42
【问题描述】:

是否可以在 Android 项目中使用两个 google-services.json 文件?我知道可以将多个 google-services.json 文件用于多种风格,但是否可以以某种方式合并具有不同 project_info 的两个文件并将它们同时用于一个项目?

下面是我想在一个项目和一种风格中使用的两个文件的示例(一个用于分析,另一个用于广告)。

第一个google-services.json

{
  "project_info": {
    "project_number": "XXXXXXXXXXXX",
    "project_id": "project-one"
  },
  "client": [
    (...)
  ],
  "configuration_version": "1"
}

第二个google-services.json

{
  "project_info": {
    "project_number": "YYYYYYYYYYYY",
    "firebase_url": "https://project-two.firebaseio.com",
    "project_id": "project-two",
    "storage_bucket": "project-two.appspot.com"
  },
  "client": [
    (...)
  ],
  "configuration_version": "1"
}

对于 iOS 项目的 GoogleService-Info.plist 文件,我也有同样的问题。

【问题讨论】:

  • 你读过这个post吗?
  • 为什么同一个项目的项目编号和项目id有不同的值?
  • @AlexMamo 是的。但正如我所写,我想以一种风格使用多个 google-services.json 文件。
  • @AlexTa 因为不同的各方都在为应用管理 Analytics 和 Firebase 广告。

标签: android ios firebase google-analytics firebase-realtime-database


【解决方案1】:

是的,可以使用多个FirebaseApp。但是您必须通过代码使用FirebaseApp 配置来进行第二个配置。 google-services.json & GoogleService-Info.plist 用于创建默认的 FirebaseApp。对于第二个配置,使用class func configure(name: String, options: FIROptions)(Swift) & public static FirebaseApp initializeApp (Context context, FirebaseOptions options, String name)(Android)。

iOS 演示代码:-

   let options =  FirebaseOptions(googleAppID: "1:XXXXXXXXXXXXXX:ios:XXXXXXXXXXXXXXXXXX", gcmSenderID: "XXXXXXXXXXXXX")
   options.apiKey = "XXXXXXXXXXXXXXXXXXXXXXXXX"
   options.projectID = "App-XXXXX"
   FirebaseApp.configure(name: "AppAnalytics", options: options)

google-services.jsonGoogleService-Info.plist 文件中添加FirebaseOptions 数据/值。

更多详情请参考以下链接:

iOS: https://firebase.google.com/docs/reference/swift/firebasecore/api/reference/Classes/FirebaseApp https://firebase.google.com/docs/reference/swift/firebasecore/api/reference/Classes/FirebaseOptions

安卓: https://firebase.google.com/docs/reference/android/com/google/firebase/FirebaseApp#initializeApp(android.content.Context,%20com.google.firebase.FirebaseOptions,%20java.lang.String)

【讨论】:

猜你喜欢
  • 2016-07-24
  • 1970-01-01
  • 2019-07-08
  • 1970-01-01
  • 2017-08-04
  • 1970-01-01
  • 2019-12-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多