AES*_*AES 7 javascript google-analytics r event-tracking shiny
我开发了一个 Shiny 应用程序,我想使用 Google Analytics 跟踪用户行为(例如,用户点击了哪些按钮,他们更改了哪些输入,......)。我发现了这两个有趣的“教程”:
但是,我对 javascript 的了解为零,并且在我的 Shiny 应用程序中实现它时遇到了问题。
我有以下问题:
一个简短的可重现代码:
ui <- navbarPage("Test app", id = "inTabSet",
header = singleton(tags$head(HTML(
"<script>
(function(i,s,o,g,r,a,m){
i['GoogleAnalyticsObject']=r;i[r]=i[r]||
function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();
a=s.createElement(o), m=s.getElementsByTagName(o)[0];
a.async=1;
a.src=g;m.parentNode.insertBefore(a,m)
})
(window, document, 'script',
'//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-XXXXXXXXX-1', 'auto');
ga('send', 'pageview');
</script>"
))),
tabPanel("Informatie",
h2("Welcome!"),
br(),
actionButton('button1', 'First button')
),
tabPanel("First tab",
h2("Welcome to the first tab!"),
uiOutput('first_tab')
)
)
server <- function(input, output, session){
output$first_tab <- renderUI({
sidebarLayout(
div(id = "Sidebar", sidebarPanel(
sliderInput('slider', "Slider input", min = 0, max = 100, value = 50),
actionButton('button2', 'Second button')
)),
mainPanel(
h2("This is the mainpanel")
)
)
})
}
shinyApp(ui, server)
Run Code Online (Sandbox Code Playgroud)
回答你的第一个问题:是的,你可以。分析允许您定义任何您想要的自定义事件:自定义事件。通过将事件添加到 onclick 中就可以完成。例如,您可以将第一个按钮的事件命名为 clickedOnBtn1 和第二个按钮的事件 clickedOnBtn2 并将它们放入 onclick 中。在您的分析控制台中,您将在“按名称的事件”部分下找到这些事件。请参阅步骤 4 -在闪亮文档中创建事件跟踪器。
<a href="http://www.example.com"
onclick="ga('send', 'event', 'click', 'link', 'IKnow', 1)">
I know when you click me
</a>;
Run Code Online (Sandbox Code Playgroud)
回答你的第二个问题:它与上面完全相同。您可以将这些自定义函数放在任何您想要的地方。
回答你的第三个问题:在你的组件的操作中
| 归档时间: |
|
| 查看次数: |
440 次 |
| 最近记录: |