Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 2108 → Rev 2109

/trunk/src/org/tela_botanica/del/client/utils/Analytics.java
New file
0,0 → 1,70
package org.tela_botanica.del.client.utils;
 
import org.tela_botanica.del.client.Del;
import org.tela_botanica.del.client.config.Config;
 
public class Analytics {
 
/**
* Envoie une notification à Google Analytics, comme quoi la page "url" a été visitée;
* passer par pageVisitee() pour s'assurer qu'on est bien en prod
*
* @param url adresse ou surnom de la page visitée
*/
public static native void pageVisiteeNatif(String url) /*-{
if (url == "") {
url = $wnd.location.href;
}
$wnd.ga('send', 'pageview', url);
}-*/;
 
/**
* Proxy pour evenementNatif() qui n'envoie l'événement que si on est en prod
*/
public static void pageVisitee(String url) {
Config config = new Config();
if (config.isProd()) {
//Del.LogVersFirebug("Page vue: " + url);
Analytics.pageVisiteeNatif(url);
} else {
}
}
 
public static void pageVisitee() {
pageVisitee("");
}
 
/**
* Envoie une notification à Google Analytics, comme quoi l'événement "action" a été déclenché
* sur la ressource "categorie" - passer par evenement() pour s'assurer qu'on
* est bien en prod
*
* @param categorie - la ressource sur laquelle l'utilisateur a agi
* @param action - ce que l'utilisateur a fait avec cette ressource
* @param label - un bout de JSON avec des détails
* @param nombre - nombre d'actions à enregistrer
*/
public static native void evenementNatif(String categorie, String action, String label, int nombre) /*-{
$wnd.ga('send', 'event', categorie, action, label, nombre);
}-*/;
 
/**
* Proxy pour evenementNatif() qui n'envoie l'événement que si on est en prod
*/
public static void evenement(String categorie, String action, String label, int nombre) {
Config config = new Config();
if (config.isProd()) {
//Del.LogVersFirebug("Evenement: " + categorie + ", " + action + ", " + label + ", " + nombre);
Analytics.evenementNatif(categorie, action, label, nombre);
}
}
 
public static void evenement(String categorie, String action, String label) {
Analytics.evenement(categorie, action, label, 1);
}
 
public static void evenement(String categorie, String action) {
Analytics.evenement(categorie, action, "", 1);
}
}