【发布时间】:2017-10-01 09:21:50
【问题描述】:
我想为一个应用、一个代码使用两个 Firebase Analytics。
项目 1:Firebase 分析测试项目 项目 2:Firebase 分析产品项目
如何在一个项目中添加两个 google-services.json 文件。有没有其他方法可以使用。
【问题讨论】:
标签: firebase firebase-analytics
我想为一个应用、一个代码使用两个 Firebase Analytics。
项目 1:Firebase 分析测试项目 项目 2:Firebase 分析产品项目
如何在一个项目中添加两个 google-services.json 文件。有没有其他方法可以使用。
【问题讨论】:
标签: firebase firebase-analytics
Analytics 仅适用于您的 GoogleService-Info.plist 中的 1 个 Google App ID。无法向这两个项目发送流量。我建议有 2 个单独的项目用于测试和发布版本。不建议将测试数据与生产数据混为一谈,因为这会造成混淆,并且如果测试数据包含在生产数据中,则生产数据可能无法反映真实行为。例如,如果您每晚通过安装和卸载运行测试应用程序,那么您的生产应用程序中可能每天都会出现一个新用户。
您可以做的一件事是拥有一个用于发布的 GoogleService-Info.plist,但使用运行时 API 来使用自定义 FIROptions
-[FIROptions initWithContentsOfFile:(NSString *)plistPath]
其中 plistPath 是自定义 GoogleService-Info.plist 的路径,例如 CustomGoogleService-Info.plist。或者
- (instancetype)initWithGoogleAppID:(NSString *)googleAppID
bundleID:(NSString *)bundleID
GCMSenderID:(NSString *)GCMSenderID
APIKey:(NSString *)APIKey
clientID:(NSString *)clientID
trackingID:(NSString *)trackingID
androidClientID:(NSString *)androidClientID
databaseURL:(NSString *)databaseURL
storageBucket:(NSString *)storageBucket
deepLinkURLScheme:(NSString *)deepLinkURLScheme;
这样,你可以把它放在编译器标志下进行测试版本。在发行版中,编译器标志将删除该行并使用正确的 GoogleService-Info.plist 作为发行版。 例如:
#ifdef TESTING
FIROptions *options = [[FIROptions alloc] initWithContentsOfFile:pathToCustomPlist];
[FIRApp configureWithOptions:options];
#endif // TESTING
【讨论】: