用于 Phonegap/Cordova 应用程序的 Firebase 分析

Posted

技术标签:

【中文标题】用于 Phonegap/Cordova 应用程序的 Firebase 分析【英文标题】:Firebase Analytic for Phonegap/Cordova App 【发布时间】:2016-08-12 09:22:36 【问题描述】:

我使用 Phonegap/Cordova 开发了一些应用程序。我想集成 Firebase Analytics 而不是 Google Analytics。是否可以? Firebase Analytics 是否有任何 Cordova 插件?请解释。

我也没有在官方documentation samples 中找到对 Firebase Analytics 的网络支持

【问题讨论】:

请解释上述问题有什么问题?我所需要的只是如何在科尔多瓦集成火力分析?你觉得这个问题有什么问题吗?我没有找到任何将 firebase 分析集成到 cordova/phonegap 中的文档,因此在 *** 中提高了它。为什么你投了反对票?你不想在科尔多瓦使用firebase?? 【参考方案1】:

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

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

【讨论】:

你能告诉我为什么下面的屏幕没有在 Analytic DashBoard 上更新吗? document.addEventListener("deviceready", function() window.FirebasePlugin.setScreenName('Redeem Vouchers') ,true);我假设,屏幕名称支持空格。【参考方案2】:

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

将应用添加到 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");

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

库 com.google.firebase:firebase-analytics-impl 正在 [[15.0.2,15.0.2] 的各种其他图书馆要求, [16.3.0,16.3.0]],但解析为 16.3.0。禁用插件并检查 你的依赖树使用 ./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-firebasehttps://firebase.google.com/docs/https://firebase.google.com/docs/samples/https://firebase.google.com/docs/libraries/

希望对您有所帮助。


更新

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

现在一天,最好在React Native或Flutter创建

【讨论】:

嗨,我收到此错误:成功 callbackId 错误:PushNotification1149818716:TypeError:无法读取未定义的属性“setAnalyticsCollectionEnabled”。您遇到过这个问题吗? 上面的意思是someThing1.setAnalyticsCollectionEnabled()被使用了,但是someThing1是未定义的。 我只需要cordova plugin add cordova-android-play-services-gradle-release --save --variable PLAY_SERVICES_VERSION=16.+ 感谢您的指导。为愚蠢的问题道歉,但你把上面的代码放在哪里?在 index.html 中? 我实际上忘记了它在哪里。很可能是我用 Cordova+Reactjs 编写的移动应用程序。现在,最好在 React Native 或 Flutter 中创建【参考方案3】:

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

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

【讨论】:

哇,你刚刚保存了我的@$$ - 浪费了几天时间,不知道发生了什么以及为什么我没有始终如一地看到我的数据......这真的救了我,谢谢!

以上是关于用于 Phonegap/Cordova 应用程序的 Firebase 分析的主要内容,如果未能解决你的问题,请参考以下文章

Phonegap/Cordova Geolocation 不适用于 Android 4.0+,但适用于所有其他平台

PhoneGap/Cordova、波纹仿真器、CORS 和 JSONP

使用 Phonegap/Cordova JS 应用程序和 MS ADAL JS。如何在真实手机中重定向 URI?

Phonegap / Cordova ios外部链接iframe无法在safari中打开

如何在 Cordova 中将 org.chromium.identity 用于本地 google connect

PhoneGap/Cordova 设备未准备好