在一个风格/目标中使用多个 google-services.json 和 GoogleService-Info.plist 文件
Posted
技术标签:
【中文标题】在一个风格/目标中使用多个 google-services.json 和 GoogleService-Info.plist 文件【英文标题】:Use multiple google-services.json and GoogleService-Info.plist files in one flavor/target 【发布时间】: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 广告。 【参考方案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.json
和GoogleService-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)
【讨论】:
Flutter 包呢?这就是我正在寻找的,实际上。你有什么想法吗? @GustavoLopes 是的,请查看此文档:pub.dev/documentation/firebase_core/latest/firebase_core/…(使用FirebaseOptions
和名称)pub.dev/documentation/firebase_core_platform_interface/latest/…
太完美了!!最后,问题出在颤振库上。但是您的解决方案让我意识到这一点,我可以根据我的需要分叉和更新库。谢谢你。你真的很有帮助!以上是关于在一个风格/目标中使用多个 google-services.json 和 GoogleService-Info.plist 文件的主要内容,如果未能解决你的问题,请参考以下文章
在RESTFUL风格中怎样定义需要多个参数才能确定的资源路径
iOS 6 Storyboard Segue 风格 Popover 与 UIPopoverController 目标崩溃