【问题标题】:Unable to make Firebase work for a non Gradle build: Missing google_app_id. Firebase Analytics disabled无法使 Firebase 用于非 Gradle 构建:缺少 google_app_id。 Firebase 分析已停用
【发布时间】:2019-02-28 14:30:27
【问题描述】:

我正在开发的应用程序有一个非常定制的构建过程。无法使用 gradle 来构建我的应用程序。这并不理想,但我无法改变它。 不过,我想在我的应用程序中使用 Firebase Analytics。包括模块 firebase-core、firebase-common、firebase-analytics、firebase-analytics-impl、firebase-iid、firebase-iid-interop、firebase-measurement-connector、firebase-measurement-connector-imple、play-services-测量基础和播放服务测量 API。我还在我的 strings.xml 中添加了以下字符串,其中包含我在 google-services.json 中为我的 Firebase 项目找到的值:

<string name="google_app_id" translatable="false">xxx</string>
<string name="gcm_defaultSenderId" translatable="false">xxx</string>
<string name="default_web_client_id" translatable="false">xxx</string>
<string name="firebase_database_url" translatable="false">xxx</string>
<string name="google_api_key" translatable="false">xxx</string>
<string name="google_crash_reporting_api_key" translatable="false">xxx</string>
<string name="project_id" translatable="false">xxx</string>

(如 here 所述)并从 AndroidManifest 中删除了 FirebaseInitProvider。 在我的应用程序ApplicationonCreate() 我做:

FirebaseOptions.Builder builder = new FirebaseOptions.Builder()
            .setApplicationId(getString(R.string.google_app_id))
            .setApiKey(getString(R.string.google_api_key));
FirebaseApp.initializeApp(this, builder.build(), "[DEFAULT]");

到目前为止没有问题。执行上述代码时,我收到一条调试日志消息:

FirebaseApp: com.google.firebase.auth.FirebaseAuth is not linked. Skipping initialization.

很好,我没有包含 auth 模块。我的应用程序不需要它。当我调用FirebaseAnalytics.getInstance(adblockSettingsTextView.getContext()).getFirebaseInstanceId() 时,它返回一个字符串值,所以我假设初始化成功。

现在每次我想记录这样的事件

Bundle bundle = new Bundle();
bundle.putString(FirebaseAnalytics.Param.CONTENT_TYPE, "Dashboard");
FirebaseAnalytics.getInstance(this).logEvent(FirebaseAnalytics.Event.SELECT_CONTENT, bundle);

我在日志中看到一条错误消息 Missing google_app_id. Firebase Analytics disabled. See https://firebase.google.com/docs/android/setup. 最重要的是,我在 Firebase Analytics 仪表板中看不到任何活跃用户。

我阅读了我能找到的所有文档,并尽我所能找出导致此问题的原因。但是现在我没有更多的想法可以检查或更改以使其正常工作。帮助将不胜感激。谢谢!

【问题讨论】:

  • 您能找到解决此问题的方法吗?可能现在他们已经解决了这个问题。

标签: android firebase initialization firebase-analytics


【解决方案1】:

如果其他人遇到同样的问题,我会在此处留下我从 Firebase 支持获得的答案:

Google Analytics for Firebase (GA4F) 不支持动态 初始化。我们的工程师正在检查可能的解决方案 支持这个。只是我们还没有找到一个确定的 关于何时(或是否)可用的时间表。

没有 google-services.json 文件(或 Gradle on 你的结局)。即使您可以动态初始化 FirebaseApp 通过代码,GA4F 将无法识别这一点,只会导致 您看到的错误消息。你得到的场景只是 特定于 Google Analytics for Firebase。但是,您仍然可以使用 其他产品,例如 Firestore、实时数据库、存储,即使您 没有使用 Gradle 插件。

【讨论】:

    猜你喜欢
    • 2020-07-15
    • 2017-08-13
    • 2019-05-23
    • 2019-01-16
    • 2020-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多