我应该如何访问闪亮用户的会话信息?

时间:2019-05-23 19:35:06

标签: r shiny

我想知道是否可以通过任何方式访问Shiny App的用户日志。

当前,我使用下面的代码来获取谁登录以及该人何时注销。

但是,我希望知道用户登录的时间,以便能够知道用户使用该应用程序的时间。

session$onSessionEnded(function(){
      UserInfo <- data.frame(
                  LoginName = session$user, 
                  Time = as.character(Sys.time())
                             )

此外,我了解Google Analytics(分析)可以轻松访问此类信息,但我确实更喜欢采用“发光”的方式来解决它。

我还尝试使用`session $ clientData',正如文档说它用于"Getting Non-Input Data From the Client",但我不知道如何获得登录时间。

有人对我如何实现这一目标有任何想法吗?预先感谢!

1 个答案:

答案 0 :(得分:0)

对于shiny scoping rulesserver <- function(input, output, session)内部的所有内容都是按会话计算的。

server <- function(input, output, session) {
  # everything in here is run once per-session, so it should run as soon as
  # a user starts using the app
  started <- Sys.time()
  # ... reactives here ...
  session$onSessionEnded(function() {
    UserInfo <- data.frame(
      LoginName = session$user, 
      Time = as.character(Sys.time())
    )
    # ... do something with UserInfo ...
  })

事实上,作用域定义规则恰恰表明了这一点,但他们将其命名为startTime(困难:缓存失效和变量命名。)