Vaadin 8 javascript integration remote tracker

Dear all,

I’m trying to integrate a javascript tracker to my vaadin 8 app for a couple of weeks now and the best solution so far has been the following:

Targeted javascript file (sample.js) inside /src/main/webapp/VAADIN/sample.js

Code of the file:

var _paq = window._paq || [];
(function() {
	var u="//static.etracker.com/code/";

	var d = document, 
		f = d.createElement( 'script' ), 
		r = d.getElementsByTagName( 'script' )[0]
, 
		g = d.createElement( 'script' ), 
		s = d.getElementsByTagName( 'script' )[0]
;
	
	f.type='text/javascript'; 
	f.append( "var et_easy = 1;" );
	f.append( "var et_pagename = \"PAGENAME%2F%2F\";" );
	f.append( "var et_areas = \"PAGENAME%2F\";" );
	f.append( "<b></b>" );
	r.parentNode.insertBefore(f,r);
	
	g.type='text/javascript'; 
	g.setAttribute( "id", "_etLoader" );
	g.setAttribute( "charset", "UTF-8" );
	g.setAttribute( "data-secure-code", "secret" );
	g.async=true; 
	g.defer=true; 
	g.src=u+'e.js'; 
	s.parentNode.insertBefore(g,s);
})();

Being executed by the annotation in Main class:

@JavaScript({ "vaadin://sample.js" })
public class MainUI extends TranslatableUI implements Translatable {

The header of my vaadin app:

So, it looks like all the related scripts are being properly injected and running. Anyway the tracker panel from etracker is not getting any information from these header scripts at all.

Please, help me understand if I’m doing something wrong or anything is missing.

Best regards
Sérgio

I would recommend to check how Google Analytics Tracker add-on for Vaadin 8 has been implemented and try to mimic the same pattern

https://github.com/samie/vaadin-ga-tracker/tree/vaadin8/addon/src/main/java/org/vaadin/googleanalytics/tracking

Tatu Lund:
I would recommend to check how Google Analytics Tracker add-on for Vaadin 8 has been implemented and try to mimic the same pattern

https://github.com/samie/vaadin-ga-tracker/tree/vaadin8/addon/src/main/java/org/vaadin/googleanalytics/tracking

Thanks you Tatu.

I actually tried extending the javascript by using AbstractJavaScriptExtension as well, anyway I’ll check it and compare with my previous trials.