Comment mettre en place le tracking des event de 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 d’une action en particulier 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 savoir 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 avec le signe + 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 et 6, alors dans Piwik l’événement contiendra la valeur 8.

Prenez le contenu de cette application comme base. Ajouter 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 on va ajouter notre code. Supprimer les lignes ci-dessous :

tracker = getTracker();
TrackHelper.track().screen(/activity_main/activity_settings).title("Hello world").with(tracker);

Et remplacer les par les lignes ci dessous, vérifier les id des boutons, ils doivent correspondre avec celles défini en 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’a tester votre application. Vous verrez les données remonter dans Piwik, soyez patient il ne remonte pas les données instantanément.

Confidentialité des Données Mentions Légales CGV