【问题标题】:Track user activity in Shiny app在 Shiny 应用程序中跟踪用户活动
【发布时间】:2016-02-10 18:33:58
【问题描述】:

我有一个闪亮的仪表板应用程序,可以通过在文本框中输入电子邮件地址来访问它。成功登录后,我为每个用户提供了 3 个选项卡和一个通知菜单。这非常有效。但是,我想跟踪用户在我的应用上的活动。

我知道通过使用 session$clientData,我可以记录用户的 IP 地址,但我希望能够跟踪哪些用户访问了哪些选项卡,以及他们是否点击了任何通知。无论如何我可以为创建的每个会话执行此操作吗?我知道谷歌分析(here) 是一个解决方案,但没有其他办法吗?感谢任何帮助。谢谢

【问题讨论】:

  • 我不认为有一种自动化的方法,但我为每个用户创建反应值来记录他们的活动。您需要在服务器端执行此操作,因此当单击按钮时,只需让服务器修改该反应变量。退出时,保存所有内容
  • @OganM,我确实想到了这一点,但是我需要为每个会话存储这些值,并且不确定它是否会按照您提到的方式工作。感谢您的帮助!
  • 是的,对于您需要创建反应值的每个会话。据我所知,它确实有效。我使用@daattali的博客文章中描述的rdrop2包来为每个用户指纹创建一个文件(ip +浏览器fingerpint。如果你在shinyapps.io上运行它,ip并不总是可用的。可以按照以下说明获取指纹:gist.github.com/srvanderplas/6049567)。或者,您可以在用户执行操作时修改文件,但这会在用户操作之间偷偷进行读写操作,这可能会根据您的日志记录频率减慢用户的速度。
  • @OganM 是正确的,应该可以工作
  • 非常有帮助@OganM!谢谢。

标签: r google-analytics shiny shiny-server shinydashboard


【解决方案1】:

如果您不想使用 Google Analytics,您可以将所需的信息写入文件或第三方数据库/文件存储系统。 This article on persistent storage in shiny 可以给你一些关于如何做到这一点的想法

【讨论】:

  • 这真的很有帮助。谢谢!
  • 使用您共享的链接,我知道我可以存储我拥有的文本框中的值,但是有没有办法可以跟踪用户是否选择了任何选项卡?
  • 您只需要编写自己的代码来跟踪是否单击了选项卡。例如,您可以有一个反应变量来跟踪单击的选项卡,并且当单击选项卡时,它会更改变量。 (如果您在tabsetPanel 中添加“id”属性,那么您可以使用input$id 了解何时单击选项卡)
  • 我实际上使用了您编写的 shinjs 包中的 onclick 选项。它对我来说效果很好,但我仍然有一些困难,我将在另一个问题中提出。不过谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-08-25
  • 2020-02-26
  • 2014-08-05
  • 2022-12-03
  • 1970-01-01
  • 1970-01-01
  • 2013-03-22
相关资源
最近更新 更多