我有一个在服务器上运行的R闪亮(shinydashboard)应用程序。我希望能够跟踪其使用情况,并且知道谷歌分析是一个很好的解决方案。但是我遇到了一个问题。
我尝试按照此处所述的说明https://shiny.rstudio.com/articles/google-analytics.html
他们建议创建一个google-analytics.js脚本,其中包含来自Google的全球网站代码:
<!-- Global Site Tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-4XXXXX5-2">
</script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-4XXXXX5-2');
</script>
然后他们建议这个&#34; google-analytics.js&#34;脚本文件在闪亮的应用程序标题中调用,如下所示:
#ui.r
library(shiny)
shinyUI(fluidPage(
tags$head(includeScript("google-analytics.js")),
includeCSS("cerulean.css"),
titlePanel("Sunlight in the US"),
然而,因为我使用闪亮的仪表板,我的闪亮布局是不同的......
#ui.r
library(shiny)
library(shinydashboard)
dashboardPage(
dashboardHeader(title = "Single Cell Database"),
dashboardSidebar(
sidebarMenu(
menuItem("P15 Clustering", tabName = "P15_Cluster", icon = icon("th")),
menuItem("P15 Violin Plots", tabName = "P15_Violin", icon = icon("th"))
)),
dashboardBody(
tabItems(
tabItem(tabName = "P15_Cluster",
我似乎无法弄清楚放在哪里......
tags$head(includeScript("google-analytics.js")),
......采用闪亮的仪表板格式。另外,因为谷歌代码格式不再与示例匹配,所以我不相信脚本函数的新格式。
有关何处致电&#34; google-analytics.js&#34;的任何帮助或建议闪亮的仪表板标题内的脚本,或者如何格式化&#34; google-analytics.js&#34;文件将不胜感激!
答案 0 :(得分:5)
我和你有同样的问题。我可以解决这个问题,并且按照https://shiny.rstudio.com/articles/usage-metrics.html
上的教程后它可以正常工作第一步:您可以在google-analytics.js文件中使用以下代码:
(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',
'https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-4XXXXX5-2', 'auto');
ga('send', 'pageview');
$(document).on('change', 'select', function(e) {
ga('send', 'event', 'widget', 'select data', $(e.currentTarget).val());
});
$(document).on('click', 'button', function() {
ga('send', 'event', 'button', 'plot data');
});
第二,您可以在“dashboardBody”中调用“google-analytics.js”文件。例如下面的语法:
dashboardBody(
tags$head(includeScript("google-analytics.js")),
tabItems(
tabItem(tabName = "P15_Cluster",