我正在阅读文章和测试方法,以使用Firebase在Ionic应用程序中实施分析和推送通知。
我的离子应用程序同时针对android和ios平台,所以我该在哪里放置google-services.json firebase文件?如果我需要在Android和iOS上使用Firebase,是否必须在Firebase中创建2个应用?
我正在阅读许多文章,其中有些说根文件夹,而有些则提到将其放在apps文件夹中。有人说我们必须更新config.xml以包括以下内容:
<resource-file src="google-services.json" target="app\google-services.json" />
我还读到我们需要使用应用程序和项目级别的依赖项来更新gradle文件。
我已将文件放在platform / android / app文件夹中,并且现在一切正常。
我只想知道使用Ionic和Firebase时的最佳做法是什么,我应该在哪里放置文件以及必须进行哪些配置更改?
答案 0 :(得分:0)
看看firebase插件的文档: https://github.com/arnesson/cordova-plugin-firebase
对于Android,您具有google-services.json
文件,对于iOS,您具有GoogleService-Info.plist
文件。 Firebase需要这些文件才能在iOS和Android上运行。您必须将这些文件放置在与config.xml相同的级别。
此插件使用钩子(准备后)复制配置 文件放置在正确的位置,即ios的platform / ios / \ /资源和android的platform / android。
因此,config.xml
中不需要资源文件指令,因为它是自动复制的。
您不需要编辑build.gradle
文件,但是如果您安装了其他Google Play插件(例如地图或admob),则编译可能无法正常进行。
如果您安装多个使用以下功能的插件,则您的构建可能会失败 Google Play服务。这是由插件安装引起的 不同版本的Google Play服务库。这可以是 通过安装cordova-android-play-services-gradle-release解决。
如果构建仍失败,则可以尝试安装 cordova-android-firebase-gradle-release。有关更多信息,请阅读 以下有关锁定特定播放版本的评论 服务和基础。建议使用+代替15. + 确保使用正确的版本。
编辑:由于您使用的是cordova-plugin-firebase-analytics而不是cordova-plugin-firebase,因此似乎它们没有实现任何钩子来复制文件。您必须将这些指令放置在config.xml中:
<platform name="android">
<resource-file src="google-services.json" target="app\google-services.json" />
...
<platform name="ios">
<resource-file src="GoogleService-Info.plist" />
...
请务必安装cordova-support-google-services