【发布时间】:2019-12-07 01:30:58
【问题描述】:
所以我有一个要求,我的项目应该为 Android/iOS 使用不同的 GoogleServices 文件,同时使用不同的配置,例如,当我使用调试配置时,它应该使用文件的调试版本,并且在发布时,它应该使用发布版本。
类似的东西 Xamarin firebase different google-services,json for different build configurations
当我遵循接受的答案时,我得到一个编译时错误,说
命令
COPY /Y "$(ProjectDir)GoogleServices\google-services-development.json" "$(ProjectDir)google-services.json"以代码 1 退出。
我尝试了干净的构建和清理 bin/obj 没有任何改变。
所以我尝试了这里提到的其他解决方案,结果是 GoogleServices 文件(所有这些文件)都被排除在项目之外,如果我构建并运行,什么也不会发生。我不确定这是否有效。
我在我的 csproj 中添加了以下几行分别用于发布和调试
<ItemGroup Condition="'$(Configuration)'=='Debug'">
<GoogleServicesJson Include="Dev\google-services.json">
<Link>google-services.json</Link>
</GoogleServicesJson>
</ItemGroup>
<ItemGroup Condition="'$(Configuration)'=='Release'">
<GoogleServicesJson Include="Prod\google-services.json">
<Link>google-services.json</Link>
</GoogleServicesJson>
</ItemGroup>
dev 和 prod 是我的原生 android 项目中的根文件夹
欢迎提出任何建议。
【问题讨论】:
-
如果您要更改 GoogleJson 文件意味着您也需要打包/捆绑标识符。
-
实际上您不需要更改捆绑标识符,只需在两个项目中定义相同的标识符..
-
据我所知,当我们从 Firebase 控制台创建它时,包名称和包标识符与 GoogleJson 文件紧密耦合。您只是无法将其替换为其他 GoogleJson 文件。
-
我知道包名称和包标识符是紧密耦合的,而且这些都不是我的问题,因为我知道 firebase 如何处理推送通知。我的问题是另外一回事
标签: visual-studio xamarin xamarin.forms xamarin.android xamarin.ios