Developers » AS2 tagging » Android » Contenus de l'application » Objet personnalisé 2.3.0
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
- 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" }
- 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" } }
- 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(); } }
- 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
Nom | Type | Valeur par défaut | Description |
---|---|---|---|
json | String | {} | Obtient ou définit l’objet sous forme de JSON |