2017-10-04 10 views
2

私は、サーバ上で動作するR shiny(shinydashboard)アプリを使い分けています。その使用状況を追跡し、Googleアナリティクスがこれに適したソリューションであることを知りたいと思っています。しかし、私はそれを設定する問題に遭遇しました。ここhttps://shiny.rstudio.com/articles/google-analytics.htmlGoogle Analytics for Shiny Dashboard App

を説明し、私は指示に従って、試してみました

彼らは、Googleからのグローバルサイトのタグを含むGoogleの-analytics.jsのスクリプトの作成をお勧め:

<!-- 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> 

彼らは、このことを示唆しています」私はすねを使用していますので、しかし

#ui.r 
library(shiny) 
shinyUI(fluidPage(

    tags$head(includeScript("google-analytics.js")), 
    includeCSS("cerulean.css"), 

    titlePanel("Sunlight in the US"), 

:グーグル-analytics.jsの」スクリプトファイルは、次のような光沢のあるアプリヘッダーで呼び出すことがYダッシュボード私の光沢のあるレイアウトは、私は光沢のあるダッシュボード形式で... ...

tags$head(includeScript("google-analytics.js")), 

を配置する場所を見つけ出すように見えることはできません...

#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", 

異なっています。さらに、Googleのコードの形式は、もはや私はスクリプトの新しい形式の機能は自信がない例と一致しないため。

光沢のあるダッシュボードヘッダー内の「google-analytics.js」スクリプトをどこに呼び出すか、「google-analytics.js」ファイル内のコードをどのように書式設定するかに関する助けやアドバイスをいただければ幸いです。

答えて

1

私はあなたに同じ問題があります。 https://shiny.rstudio.com/articles/usage-metrics.html

最初のステップで、チュートリアルに従った後、私は問題を解決することができ、それが動作します:あなたがグーグル-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",