Objet personnalisé

 

Avant-propos

Le SDK vous permet d’ajouter toutes sortes d’informations via des dictionnaires ou flux JSON à ajouter à la variable stc. Les objets personnalisés peuvent être ajoutés à n’importe quel type de marquage et peuvent ensuite être traités via l’outil Data Manager.

 

Pour bien débuter

Une fois votre marqueur initialisé, vous pouvez ajouter vos objets personnalisés à vos hits.

Dans le cas où vous souhaitez utiliser des variables, veillez à importer les classes ATInternet, Tracker et CustomObject dans votre Activity.

 

Marquage

Pour ajouter un objet personnalisé à vos hits, les objets tracker, Screen, Gesture, Publisher et SelfPromotion exposent un objet CustomObjects possédant une méthode add. Cette dernière permet d’ajouter un objet personnalisé qui sera ajouté au prochain hit envoyé.

 

Exemples de marquage

  1. Marquage d’un écran avec ajout d’un objet personnalisé « simple »
    package com.atinternet.atinternetdemo;
    
    import android.app.Activity;
    import android.os.Bundle;
    
    import com.atinternet.tracker.ATInternet;
    import com.atinternet.tracker.Debugger;
    import com.atinternet.tracker.Tracker;
    
    import java.util.HashMap;
    
    
    public class MainActivity extends Activity {
    
        private Tracker tracker;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            tracker = ATInternet.getInstance().getDefaultTracker();
        }
    
        @Override
        protected void onResume() {
            super.onResume();
            Screen s = tracker.Screens().add(this);
            s.CustomObjects().add(new HashMap<String, Object>() {{
                put("firstName", "John");
                put("name", "Doe");
                put("age", 26);
            }});
            s.sendView();
        }
    }

    JSON obtenu dans la variable stc :

    {
        "lifecycle": {
            "fl": 0,
            "fld": 20151014,
            "dsfl": 1,
            "flau": 0,
            "dslu": 0,
            "lc": 57,
            "lcsu": 0,
            "ldc": 9,
            "lwc": 57,
            "lmc": 57
        },
        "firstName": "John",
        "age": 26,
        "name": "Doe"
    }
  2. Marquage d’un écran avec ajout d’un objet personnalisé « complexe »
    package com.atinternet.atinternetdemo;
    
    import android.app.Activity;
    import android.os.Bundle;
    
    import com.atinternet.tracker.ATInternet;
    import com.atinternet.tracker.Debugger;
    import com.atinternet.tracker.Tracker;
    
    import java.util.HashMap;
    
    
    public class MainActivity extends Activity {
    
        private Tracker tracker;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            tracker = ATInternet.getInstance().getDefaultTracker();
        }
    
        @Override
        protected void onResume() {
            super.onResume();
            Screen s = tracker.Screens().add(this);
            s.CustomObjects().add(new HashMap<String, Object>() {{
                put("user", new HashMap<String, String>() {{
                    put("language", "en");
                    put("country", "US");
                    put("currency", "USD");
                }});
            }});
            s.sendView();
        }
    }

    JSON obtenu dans la variable stc :

    {
        "lifecycle": {
            "fl": 0,
            "fld": 20151014,
            "dsfl": 1,
            "flau": 0,
            "dslu": 0,
            "lc": 58,
            "lcsu": 0,
            "ldc": 10,
            "lwc": 58,
            "lmc": 58
        },
        "user": {
            "language": "en",
            "currency": "USD",
            "country": "US"
        }
    }
  3. Marquage d’une navigation avec ajout d’un objet personnalisé
    package com.atinternet.atinternetdemo;
    
    import android.app.Activity;
    import android.os.Bundle;
    
    import com.atinternet.tracker.ATInternet;
    import com.atinternet.tracker.Debugger;
    import com.atinternet.tracker.Tracker;
    
    import java.util.HashMap;
    
    
    public class MainActivity extends Activity {
    
        private Tracker tracker;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            tracker = ATInternet.getInstance().getDefaultTracker();
        }
    
        @Override
        protected void onResume() {
            super.onResume();
            Gesture g = tracker.Gestures().add(this);
            g.CustomObjects().add(new HashMap<String, Object>() {{
                put("user", new HashMap<String, String>() {{
                    put("language", "en");
                    put("country", "US");
                    put("currency", "USD");
                }});
            }});
            g.sendNavigation();
        }
    }
  4. Marquage d’une publicité avec ajout d’un objet personnalisé
    package com.atinternet.atinternetdemo;
    
    import android.app.Activity;
    import android.os.Bundle;
    
    import com.atinternet.tracker.ATInternet;
    import com.atinternet.tracker.Debugger;
    import com.atinternet.tracker.Tracker;
    
    import java.util.HashMap;
    
    
    public class MainActivity extends Activity {
    
        private Tracker tracker;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            tracker = ATInternet.getInstance().getDefaultTracker();
        }
    
        @Override
        protected void onResume() {
            super.onResume();
            Publisher pub = tracker.Publishers().add("[ad1]");
            pub.CustomObjects().add(new HashMap<String, Object>() {{
                put("user", new HashMap<String, String>() {{
                    put("language", "en");
                    put("country", "US");
                    put("currency", "USD");
                }});
            }});
            pub.sendImpression();
        }
    }
 

Classe CustomObject

 

Propriétés

NomTypeValeur par défautDescription
jsonString{}Obtient ou définit l’objet sous forme de JSON
Dernière mise à jour : 05/04/2018