Subversion Repositories eFlore/Applications.del

Rev

Rev 2108 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2108 mathias 1
package org.tela_botanica.del.client.utils;
2
 
3
import org.tela_botanica.del.client.Del;
4
import org.tela_botanica.del.client.config.Config;
5
 
6
public class Analytics {
7
 
8
	/**
9
	 * Envoie une notification à Google Analytics, comme quoi la page "url" a été visitée;
10
	 * passer par pageVisitee() pour s'assurer qu'on est bien en prod
11
	 *
12
	 * @param url adresse ou surnom de la page visitée
13
	 */
14
	public static native void pageVisiteeNatif(String url) /*-{
15
		if (url == "") {
16
			url = $wnd.location.href;
17
		}
18
		$wnd.ga('send', 'pageview', url);
19
	}-*/;
20
 
21
	/**
22
	 * Proxy pour evenementNatif() qui n'envoie l'événement que si on est en prod
23
	 */
24
	public static void pageVisitee(String url) {
25
		Config config = new Config();
26
		if (config.isProd()) {
27
			//Del.LogVersFirebug("Page vue: " + url);
28
			Analytics.pageVisiteeNatif(url);
29
		} else {
30
 
31
		}
32
	}
33
 
34
	public static void pageVisitee() {
35
		pageVisitee("");
36
	}
37
 
38
	/**
39
	 * Envoie une notification à Google Analytics, comme quoi l'événement "action" a été déclenché
40
	 * sur la ressource "categorie" - passer par evenement() pour s'assurer qu'on
41
	 * est bien en prod
42
	 *
43
	 * @param categorie - la ressource sur laquelle l'utilisateur a agi
44
	 * @param action - ce que l'utilisateur a fait avec cette ressource
45
	 * @param label - un bout de JSON avec des détails
46
	 * @param nombre - nombre d'actions à enregistrer
47
	 */
48
	public static native void evenementNatif(String categorie, String action, String label, int nombre) /*-{
49
		$wnd.ga('send', 'event', categorie, action, label, nombre);
50
	}-*/;
51
 
52
	/**
53
	 * Proxy pour evenementNatif() qui n'envoie l'événement que si on est en prod
54
	 */
55
	public static void evenement(String categorie, String action, String label, int nombre) {
56
		Config config = new Config();
57
		if (config.isProd()) {
58
			//Del.LogVersFirebug("Evenement: " + categorie + ", " + action + ", " + label + ", " + nombre);
59
			Analytics.evenementNatif(categorie, action, label, nombre);
60
		}
61
	}
62
 
63
	public static void evenement(String categorie, String action, String label) {
64
		Analytics.evenement(categorie, action, label, 1);
65
	}
66
 
67
	public static void evenement(String categorie, String action) {
68
		Analytics.evenement(categorie, action, "", 1);
69
	}
70
}