首页 > 解决方案 > 如何为 R Shiny 中的某些 Web 元素设置 Google Analytics 事件跟踪器?

问题描述

我想为 R Shiny 应用程序中的某些 Web 元素分配一个 Google 事件跟踪器。让我们为“sliderInput”元素获取具有唯一 ID“si_bins”的最简单的 R Shiny 项目。

这是谷歌分析脚本

<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=XXXX"></script>
  <script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'XXXX');

  $(document).on('change', 'si_bins', function(e) {
    ga('send', 'event', 'sliderInput', 'select number of bins', 
    $(e.currentTarget).val());
  });

</script>

这是 R Shiny 应用程序

library(shiny)

server <- function(input, output) {
  output$uo_bins <- renderUI({
    sliderInput("si_bins", "Number of bins:", min = 1, max = 50,value = 30)
  })
  output$distPlot <- renderPlot({
    x    <- faithful[, 2] 
    bins <- seq(min(x), max(x), length.out = input$si_bins + 1)
    hist(x, breaks = bins, col = 'darkgray', border = 'white')
  })
}

ui <- fluidPage(
   titlePanel("Old Faithful Geyser Data"),
   sidebarLayout(
      sidebarPanel(uiOutput("uo_bins")),
      mainPanel(plotOutput("distPlot"))
   ))

shinyApp(ui = ui, server = server)

如何正确设置这行代码?

$(document).on('change', 'si_bins', function(e) {
      ga('send', 'event', 'sliderInput', 'select number of bins', 
          (e.currentTarget).val());
    }); 

标签: rgoogle-analyticsshinytracker

解决方案


推荐阅读