Phonegap/Cordova 应用的 Firebase 分析

Firebase Analytic for Phonegap/Cordova App

我使用 Phonegap/Cordova 开发了几个应用程序。我想集成 Firebase Analytics 而不是 Google Analytics。可能吗?是否有用于 Firebase Analytics 的 Cordova 插件?请解释。

此外,我在官方 documentation samples

中找不到对 Firebase Analytics 的 Web 支持

这是一个用于 cordova 的 firebase 插件(我是作者)

https://github.com/arnesson/cordova-plugin-firebase

另一个 Cordova 插件,尽管这仅适用于 Analytics(一个:https://github.com/chemerisuk/cordova-plugin-firebase-analytics

要调试您的事件,请记住将您的应用正确配置为 described here

为此浪费了几个小时,这是我发现的:

将应用程序添加到 firebase 控制台

  • 创建项目
  • 添加应用,使用包名(com.x.y.app)

安装

cordova plugin add cordova-plugin-firebase --save
cordova plugin add cordova-android-play-services-gradle-release --save  --variable PLAY_SERVICES_VERSION=16.+
cordova prepare && cordova compile

代码

initializeAnalytics() {
    window.FirebasePlugin.setAnalyticsCollectionEnabled(true); // Enables analytics collection
    window.FirebasePlugin.setScreenName("Home");

    window.FirebasePlugin.logEvent("select_content", { content_type: "page_view", item_id: "home" });

    // window.FirebasePlugin.setUserId("user_id");
    // window.FirebasePlugin.setUserProperty("name", "value");
}

解决构建错误:
我有以下错误:

The library com.google.firebase:firebase-analytics-impl is being requested by various other libraries at [[15.0.2,15.0.2], [16.3.0,16.3.0]], but resolves to 16.3.0. Disable the plugin and check your dependencies tree using ./gradlew :app:dependencies.

解决方案是因为它在16.3.0解析,我把整个项目PLAY_SERVICES_VERSION都改了

change all code:
        from        "PLAY_SERVICES_VERSION": "15.+"  
        to          "PLAY_SERVICES_VERSION": "16.+"  

但是在上面之前,我做了:

cordova platform rm android
cordova platform add android

但是,请小心复制您的平台目录,也许您在该目录中做了一些更改,虽然理想情况下,您不应该这样做,但作为初学者,您会像许多其他解决方案建议您那样做.

上传应用:

完成所有集成后,将应用上传到 Play 控制台。

检查你的 firebase 控制台

经过几个小时的等待,下载完成后,显示如下截图。

链接:

https://github.com/arnesson/cordova-plugin-firebase
https://firebase.google.com/docs/
https://firebase.google.com/docs/samples/
https://firebase.google.com/docs/libraries/

希望对您有所帮助。


更新

我用 Cordova + Reactjs 编写了应用程序。

现在,最好在 React Native Or Flutter

中创建