Le guide d’extension de chrome a un tutoriel pour l’ancienne installation d’parsing: https://developer.chrome.com/extensions/tut_analytics.html
Les instructions indiquent simplement de créer un lien vers la version https et de mettre à jour le manifeste pour autoriser le chargement de scripts à partir de cette URL. Donc, ceux-ci devraient toujours s’appliquer à la nouvelle version. Et en fait, je peux voir le script se charger depuis le serveur.
Une fois que le script charge les parsings, elles ne sont pas initialisées correctement et ne traitent jamais sa queue interne (ga.f) pour envoyer ces événements au serveur. Il n’y a pas d’erreur dans la console. C’est tout simplement silencieux.
Je pense que le nouvel Universal Analytics n’est pas configuré pour fonctionner dans l’environnement d’extension, mais les documents universels ne le mentionnent pas: https://developers.google.com/analytics/devguides/collection/analyticsjs/
Est-ce que quelqu’un sait s’il est même possible d’append Universal Analytics à une extension et quand cela pourrait être ajouté?
Il y a un problème pour cela sur le code Google: La solution consiste à passer les parsings de votre propre fonction de vérification de protocole ou simplement à la rendre null
pour aucune vérification, de manière officielle .
Cela doit venir après ga('create', ...)
:
ga('set', 'checkProtocolTask', null); // Disable file protocol checking.
Vous n’avez donc pas besoin de modifier le script analytics.js d’origine. Il vous suffit d’inclure l’extrait de code de suivi standard (n’oubliez pas d’append le préfixe “https:”) et d’append ” https://www.google-analytics.com ” à votre stratégie de sécurité du contenu.
Une note à la solution d’ayal gelles: Il n’est pas nécessaire d’append chrome-extension://...
à la politique de sécurité du contenu car elle est déjà incluse dans la déclaration 'self'
. De plus, au lieu de charger le script via une URL codée en dur, vous devez utiliser chrome.runtime.getURL("path/to/analytics.js")
. De cette façon, vous n’avez pas besoin de connaître l’identifiant de votre extension, Chrome le remplira pour vous.
J’ai écrit un article sur ce blog – Comment append le suivi Universal Analytics de Google à une extension Chrome
En voici le courage:
// Standard Google Universal Analytics code (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'); // Note: https protocol here ga('create', 'UA-XXXXX-YY', 'auto'); ga('set', 'checkProtocolTask', function(){}); ga('require', 'displayfeatures'); ga('send', 'pageview', '/options.html');
Il y a 3 points que j’aimerais particulièrement souligner:
checkProtocolTask
par une fonction vide /options.html
– sinon Google Analytics rejettera une URL au format chrome-extension://gdocgfhmbfbbbmhnhmmejncjdcbjkhfc/options.html
Je viens de rencontrer cela et semble avoir piraté mon chemin à travers. Cela pourrait casser à un moment donné ou ne pas être totalement fonctionnel, mais voici:
Téléchargez le code source allégé GA + modifié ici: https://www.google-analytics.com/analytics.js , placez-le dans votre dossier d’extension chrome, où il pourra être ultérieurement chargé par la page d’arrière-plan.
Dans ce document, trouvez une fonction qui ressemble à ceci:
function Oa(){var a=M[B][E];if("http:"!=a&&"https:"!=a)throw"abort";}.
C’est le “sharepoint défaillance” car notre “protocole” est “chrome-extension:” et non pas l’un des deux.
function Oa(){var a=M[B][E];if("chrome-extension:"!=a&&"http:"!=a&&"https:"!=a)throw"abort";}
"content_security_policy": "script-src 'self' chrome-extension://EXTENSIONID/path/to/analytics.js; object-src 'self'",
(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','chrome-extension://EXTENSIONID/path/to/analytics.js','ga');
J’espère que cela t’aides.
J’ai réussi à faire fonctionner Google Analytics en utilisant Chrome Platform Analytics (CPA). La seule partie déroutante est la configuration d’une propriété dans la console d’administration de GA. J’ai dû créer une propriété d’application mobile, qui n’est pas trop intuitive.
J’ai également créé une page d’options qui permet aux utilisateurs de désactiver l’parsing, si nécessaire, pour se conformer aux exigences de désinscription .
J’espère que ça aide!
Il existe un moyen d’utiliser le protocole de mesure pour communiquer avec Google Analytics. J’ai développé un script pour cela:
En ce qui concerne les nouveaux analytics.js (à l’inverse de l’ancien ga.js), cet exemple fonctionne pour moi:
function setupGoogleAnalytics() { if (!window.ga) { (function(){ window.ga = function() { (window.ga.q = window.ga.q || []).push(arguments); }, window.ga.l = 1 * new Date(); var tag = 'script'; var a = document.createElement(tag); var m = document.getElementsByTagName(tag)[0]; a.async = 1; a.src = 'https://www.google-analytics.com/analytics.js'; m.parentNode.insertBefore(a, m); })(); ga('create', 'UA-XXXXXXX-Y', 'auto'); ga('set', 'checkProtocolTask', null); } }
Veuillez noter que vous devez append l’extrait suivant content_security_policy au fichier manifest.json:
{ ... "content_security_policy": "script-src 'self' https://www.google-analytics.com; object-src 'self'" ... }