Comment mettre en place le tracking des événements Piwik dans Android ?
Grâce au SDK Android de Piwik, il est possible de faire remonter plusieurs informations telles qu’une page vue (écran), une transaction… Ici, nous allons nous intéresser au suivi des événements. Un événement peut correspondre à la pression d’un bouton ou à une action particulière réalisée par l’utilisateur. Dans notre cas de figure, nous allons créer une application avec un bouton : à chaque appui sur ce dernier, cela enverra une donnée dans Piwik. Nous pourrons alors connaître le nombre de clics sur le bouton.
L’application Android pour Piwik que nous allons réaliser
Afin de vous montrer comment faire remonter les événements, nous allons réaliser l’application suivante :
Elle contiendra 3 boutons et du texte. Le but ici est de changer la valeur du texte en appuyant sur les boutons portant les signes + et -, puis, en appuyant sur le bouton « PUSH », d’envoyer la valeur du texte à l’événement correspondant. L’événement contiendra la valeur du texte. Ainsi, si on envoie 2 puis 6, alors dans Piwik l’événement contiendra la valeur 8.
Prenez le contenu de cette application comme base. Ajoutez vos 3 boutons manuellement dans le fichier XML de l’activité ; il sera plus aisé de le faire à l’aide de l’assistant graphique. Une fois cela fait, nous allons ajouter notre code. Supprimez les lignes ci-dessous :
tracker = getTracker();
TrackHelper.track().screen(/activity_main/activity_settings).title("Hello world").with(tracker);
Et remplacez-les par les lignes ci-dessous. Vérifiez les identifiants des boutons : ils doivent correspondre à ceux définis ci-dessous.
final TextView nombre = (TextView) findViewById((R.id.textView));
nombre.setText("0");
Button btn = (Button) findViewById(R.id.button);
Button btn2 = (Button) findViewById(R.id.button2);
Button btn3 = (Button) findViewById(R.id.button3);
btn.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
final TextView text = (TextView) findViewById((R.id.textView));
int value = Integer.parseInt(text.getText().toString());
value = value-1;
text.setText(String.valueOf(value));
}
});
btn2.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
TextView text = (TextView) findViewById((R.id.textView));
int value = Integer.parseInt(text.getText().toString());
value = value +1;
text.setText("" + value);
}
});
btn3.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
TextView text = (TextView) findViewById((R.id.textView));
int value = Integer.parseInt(text.getText().toString());
tracker = getTracker();
TrackHelper.track().event("WebCampDay", "action").name("Nom").value((float)(value)).with(tracker);
}
});
Une fois cela fait, il ne vous reste plus qu’à tester votre application. Vous verrez les données remonter dans Piwik ; soyez patient, il ne remonte pas les données instantanément.






