[英]How to programatically change Firebase google JSON for different build variants?
通常,可以在productFlavors
变体之间进行切换,可以使用productFlavors
。 但是我想在运行时使用按钮更改这些变体。
ServerType
枚举类包含多个构建变体。 我有带有apiKey
和url
属性的Server
类。
这些变量内部是Server
对象。(每个构建变量可以使用多个API)。
该枚举类具有与productFlavors
相同的功能。 我可以在运行时更改这些地址,并从下拉菜单中设置活动变量。 这将影响我应用中的每个API调用。 我无法更改的是Firebase选择的google.json
。 有什么办法告诉Firebase使用不同的json吗? 我有4个变体,并且jsons位于项目中的每个变体文件内。
Firebase会在Build Variant
应用时根据选择的Build Variant
自动选择google.json。
您是否尝试过多个环境目录? 这允许您为不同的构建变体放置几个不同的google.json
文件。 ( 来自Firebase网站的帮助 )。
这也是一个专用目录,因此不是动态目录,而是Firebase在运行时可以处理的所有目录。
使用哪个google-services.json文件的选择始终由Google Play服务插件在构建时确定。 它永远不会在运行时确定。
如果您需要在运行时更改项目配置,则将无法使用该插件或其google-services.json配置文件。 您将需要找到另一种在构建时将所有可能的不同配置放入应用程序中的方法,然后选择要在运行时使用的配置。 您将必须自己调用FirebaseApp.initializeApp()而不是接受默认配置。 有很多策略可以做到这一点,但是我建议您从这里开始 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.