Wir haben Google Analytics eingeführt, um Daten über den Webdienst zu sammeln, den wir dieses Mal entwickelt haben und der in Kürze veröffentlicht wird. Daher werden wir Ihnen die Vorgehensweise vorstellen. Es gibt ein Juwel namens Google-Analytics-Rails und es gibt eine Möglichkeit, es zu verwenden, aber wenn ich es mir auf Github ansehe, wurde das Update um Oktober 2017 gestoppt (Readme wurde letzten Monat aktualisiert), also mache ich mir Sorgen. Also habe ich es diesmal ohne Edelstein eingeführt.
[Voraussetzungen] -Registriert in Google Analytics. (Registrierungsmethode ist hier)
Bereiten Sie einfach eine Teilvorlage für Google Analytics vor und laden Sie sie mit dem Head-Tag.
haml:layauts/_google_analytics.html.haml
%script{async: "", src: "https://www.googletagmanager.com/gtag/js?id=Tracking ID"}
:javascript
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'Tracking ID');
if (#{raw current_user.to_json}) {
gtag('set', {'user_id': #{raw current_user.to_json}.id});
}
haml:application.html.haml
!!!
%html
%head
%meta{:content => "text/html; charset=UTF-8", "http-equiv" => "Content-Type"}
= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload'
= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload'
- if Rails.env.production?
= render 'layouts/google_analytics'
Der Punkt hier ist die letzte if-Anweisung, die current_user in json übersetzt und die Daten weitergibt, wenn Sie angemeldet sind.
Es wird auch die Raw-Methode "ActionView :: Helpers :: OutputSafetyHelper" verwendet, um ein Entkommen zu vermeiden. Sie können dasselbe mit html_safe tun, aber es scheint, dass die Raw-Methode empfohlen wird, da sie eine Ausnahme auslöst, wenn sie Null ist. (Wenn Sie sich den [Rails Guide] ansehen (https://guides.rubyonrails.org/active_support_core_extensions.html#output-safety), sehen Sie `Um etwas wörtlich einzufügen, verwenden Sie den Raw-Helfer, anstatt html_safe aufzurufen:`
Es gibt.)
https://qiita.com/t1gert1ger/items/b9a197e2d85050b9d7d6
Ich gebe aus, was ich jeden Tag gelernt habe! Ich hoffe es hilft dir. Wenn Sie Vorschläge haben, würde ich mich freuen, wenn Sie einen Kommentar abgeben könnten.
Recommended Posts