我想在Delphi桌面应用程序中使用Google事件跟踪这个疯狂的想法。我想跟踪用户行为工作流程以使应用程序更好。但它是在javascript中。
有可能以某种方式直接从应用程序执行吗?或者我是否需要制作一个与Google事件跟踪API通信的网页,应用程序会向该网页发送REST查询?
或者我可以在没有javascript的情况下直接从应用程序执行此操作?
答案 0 :(得分:4)
您应该非常小心,并警告您的用户。
虽然本地运行的软件与从浏览器中的网站运行的软件不同,但软件的互联性正在增加。公众对正确而不沟通的普遍感觉也是如此。
例如,许多软件“手机回家”检查最新版本,甚至没有向用户请求许可。我可以理解一些用户对此有疑问,但这表明对此的一般意见正在发生变化。供应商可以仅根据“电话回家”跟踪使用情况统计数据。
我不确定Google事件跟踪是否是解决桌面应用程序使用情况跟踪的最佳方式,但总体思路(收集使用情况统计信息和错误信息)可以很好地解决。
来自大型供应商的软件多年来一直从他们的软件中获取使用情况统计数据,并且如果发送统计数据正常,他们会提前询问用户,并且在发生错误时,每次询问他们是否也可以。
事实上,“Why Software Sucks ... and What Can You Do About It”一书以及David Platt的演示文稿解释了如何执行此操作以及如何与用户沟通。
你需要以非常匿名的方式做到这一点,你可以因为基本上你对这些事情感兴趣:
只要您传达百分比,就可以向用户解释数据非常不具体。
另一方面:能够专注于实际的错误可以大大改善你的软件。
传回给您的错误可能包含很多详细信息,因此您需要删除该详细信息,或者在用户指示在传达个别错误时向您发送哪些详细信息时非常及早。
- 的Jeroen
答案 1 :(得分:0)
我开发了自己的解决方案(我称之为“软件仪表”)来完成此操作。它是一个dll,它将对Google Analytics(分析)进行所有REST查询。 有示例Delphi代码将DLL包装在Delphi类中,因此发送事件很简单
dllSoftMeter.sendEvent('Conversion events', 'Donate clicked', 1);
如果您不介意使用第三方库,则可以使用它。 实际上,我发现使用它的大多数软件是Delphi制作的软件。
这里是该实现的Delphi代码的更扩展示例。 https://www.starmessagesoftware.com/blog/track-delphi-pascal-gui-application-google-analytics
您当然需要获得最终用户的同意。