是否可以在Android项目中使用两个google-services.json文件?我知道有可能将多个google-services.json文件用于多种口味,但有可能以某种方式合并两个不同project_info
的文件并同时将它们用于项目吗?
以下是我想在一个项目中使用的两个文件的示例和一个风格(一个用于Google Analytics,另一个用于广告)。
首先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
文件也有同样的疑问。
答案 0 :(得分: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)
从 FirebaseOptions
和 google-services.json
文件添加 GoogleService-Info.plist
数据/值。
详情请参考以下链接:
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
答案 1 :(得分:0)
是的,这是可能的,
安卓:
将文件保存在不同的flavor目录中(如果不存在请创建目录)
IE。在普通项目中,您将拥有 app>src>main,因此与其在该目录中保存 google-services.json
不同的文件,不如将其保存在
iOS:
您可以通过使用构建脚本为 iOS 实现类似的行为,请查看此答案以了解详细信息:https://stackoverflow.com/a/48789232/8334146