1

我正在阅读文章并测试使用 Firebase 在我的 Ionic 应用程序中实现分析和推送通知的方法。

我的 ionic 应用程序同时针对 android 和 ios 平台,那么我应该将 google-services.json firebase 文件放在哪里?如果我需要为 android 和 iOS 使用 firebase,我是否必须在 firebase 中创建 2 个应用程序?

我正在阅读许多文章,其中一些说根文件夹,而一些提到将它放在应用程序文件夹中。有人说我们必须更新 config.xml 以包含以下内容:

<resource-file src="google-services.json" target="app\google-services.json" />

我还读到我们需要使用应用程序和项目级别的依赖项更新 gradle 文件。

我已将文件放在 platform/android/app 文件夹中,现在一切正常。

我只想知道使用 Ionic 和 Firebase 时的最佳做法是什么,我应该将文件放在哪里以及我必须进行哪些配置更改?:

  1. 对于 Ionic 安卓应用
  2. 对于 Ionic iOS 应用程序
  3. 适用于 Android 和 iOS 平台的 Ionic 应用程序
4

1 回答 1

0

查看 firebase 插件的文档: https ://github.com/arnesson/cordova-plugin-firebase

对于 Android,您拥有该google-services.json文件,而对于 iOS,您拥有该GoogleService-Info.plist文件。Firebase 需要这些文件才能在 iOS 和 Android 上运行。您必须将这些文件放在与 config.xml 相同的级别。

这个插件使用一个钩子(在准备之后)将配置文件复制到正确的位置,即对于 ios 的平台/ios/\/Resources 和对于 android 的平台/android。

所以你不需要你的资源文件指令config.xml,因为它是自动复制的。

您不需要编辑build.gradle文件,但如果您安装了其他 google play 插件(如地图或 admob),则编译可能无法正常工作。

如果您安装多个使用 Google Play 服务的插件,您的构建可能会失败。这是由安装不同版本的 Google Play 服务库的插件引起的。这可以通过安装 cordova-android-play-services-gradle-release 来解决。

如果您的构建仍然失败,您可以尝试安装 cordova-android-firebase-gradle-release。有关更多信息,请阅读以下有关锁定播放服务和 firebase 特定版本的评论。建议使用 + 而不是 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

于 2019-01-28T11:38:25.537 回答