Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 2845 → Rev 2846

/trunk/src/org/tela_botanica/client/util/Analytics.java
New file
0,0 → 1,68
package org.tela_botanica.client.util;
 
import org.tela_botanica.client.modeles.objets.Configuration;
import org.tela_botanica.client.util.Util;
 
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) {
if (Configuration.isProd()) {
//Util.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) {
if (Configuration.isProd()) {
//Util.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);
}
}