首页 > 解决方案 > 是否需要将 Firebase Analytics 添加到 build.gradle?

问题描述

我正在按照此处的说明将 Firebase 添加到我的 Flutter 项目中。我想使用 Firebase Analytics,所以我在 pubspec.yaml 中添加了它

Firebase Analytics的软件包页面没有提到任何关于将 Analytics 添加为依赖项的内容android/app/build.gradle

我之前链接的 Firebase for Flutter 页面中也没有提到这样的事情。现在在 Firebase 控制台中注册应用程序时,它会要求在应用程序级别 build.gradle 中添加 Firebase Analytics 的实现

Flutter Firebase 分析

所以我是否需要添加它,因为看起来只有 Firebase 控制台希望我添加它,但在任何官方 Flutter 页面上都找不到任何提及它。

标签: firebaseflutterfirebase-analytics

解决方案


我也有同样的问题。似乎很明显,您应该将依赖项添加com.google.firebase:firebase-analytics到您的项目中。

但是……你实际上并不需要它。

这很容易测试!只需按照文档中的描述设置 Firebase Analytics:

  1. google-services.json
  2. apply plugin: 'com.google.gms.google-services'(和相关的东西)
  3. 配置多索引
  4. firebase_analytics: ^X.Y.Zpubspec.yaml

不要向您添加任何 Firebase 依赖项app/build.gradle

现在,在 Firebase Analytics 中启用 DebugView adb shell setprop debug.firebase.analytics.app your.package:.

运行应用程序并发送一些事件。在 Firebase Analytics 控制台中打开 DebugView,您将看到它们!

可能所有的魔法都发生在Google Services Gradle 插件中:

google-services 插件有两个主要功能:

  1. 为您启用的服务所需的基本库添加依赖项。…</p>

    您可以通过运行查看此步骤的结果./gradlew :app:dependencies

因此,该插件似乎为您添加了它们!

./gradlew :projects您还可以通过从您的android目录运行来检查将自动配置哪些依赖项。我的是:

Root project 'android'
+--- Project ':app'
+--- Project ':firebase_analytics'
\--- Project ':firebase_core'

现在,在我添加firebase_auth到 mypubspec.yml和 run之后flutter pub get,这个命令确实列出了一个额外的项目:

Root project 'android'
+--- Project ':app'
+--- Project ':firebase_analytics'
+--- Project ':firebase_auth'
\--- Project ':firebase_core'

在此处输入图像描述


推荐阅读