Developers » AS2 tagging » Android » Ecommerce » SalesTracker » Panier 2.3.0
Panier
Avant-propos
Le SDK AT Internet vous permet de marquer le panier de votre application ainsi que son contenu.
Vous pouvez, comme pour un panier réel, ajouter ou retirer des produits du panier et envoyer ces informations dans votre hit d’écran.
Pour bien débuter
Une fois votre marqueur initialisé, vous pouvez ajouter les informations de panier à votre hit d’écran.
Dans le cas où vous souhaitez utiliser des variables, veillez à importer les classes ATInternet, Tracker, Screen et Cart dans votre Activity.
Marquage
Le tracker met à disposition un objet Cart. Cet objet expose les méthodes suivantes :
- set : Permet de définir un identifiant de panier pour pouvoir ensuite y ajouter des produits
Pour que les informations de panier soient bien prises en compte, l’identifiant doit être supérieur à zéro
- unset : Permet de supprimer les produits du panier et de réinitialiser l’identifiant de ce dernier
L’ objet Cart expose également un objet Products permettant d’ajouter ou retirer des produits au panier.
Cet objet expose les méthodes suivantes :
- add : Ajoute un produit (dont l’id est passé en paramètre) au panier et retourne un objet Product
- remove : Supprime un produit(dont l’id est passé en paramètre) du panier
- removeAll : Supprime tous les produits contenus dans le panier
Pour envoyer les informations du panier sans envoyer d’informations de commande, il vous faut lié votre panier à votre écran en utilisant la méthode setCart de l’objet Screen. Dans le cas contraire, les informations de panier ne seront pas ajoutées à votre hit d’écran.
Exemples de marquage
- Marquage d’un écran résumant le contenu d’un panier avec 2 articles
L’identifiant du panier doit être identique à celle présente dans le marqueur de contenu de la commande ; dans le cas contraire le panier sera considéré comme abandonné. Nous attirons également votre attention sur le fait que l’identifiant utilisé pour le panier doit être unique et jamais réutilisé au risque d’obtenir des analyses incohérentes
package com.atinternet.atinternetdemo; import android.app.Activity; import android.os.Bundle; import com.atinternet.tracker.ATInternet; import com.atinternet.tracker.Tracker; import com.atinternet.tracker.Cart; 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(); // Enable cart and set an identifier Cart cart = tracker.Cart().set("3"); cart.Products().add("ID[p1]") .setCategory1("10[Shoes]") .setQuantity(1) .setUnitPriceTaxFree(70) .setUnitPriceTaxIncluded(85) .setPromotionalCode("ATCode") .setDiscountTaxFree(0) .setDiscountTaxIncluded(0); cart.Products().add("ID[p2]") .setCategory1("20[Socks]") .setQuantity(2) .setUnitPriceTaxFree(70) .setUnitPriceTaxIncluded(85); Screen s = tracker.Screens().add("Order confirmation"); s.setCart(cart); s.sendView(); } }
- Marquage d’une commande avec les informations de panier
Pour plus d’informations quant au marquage de vos commandes, rendez-vous sur cette page : Commandes (SalesTracker)
package com.atinternet.atinternetdemo; import android.app.Activity; import android.os.Bundle; import com.atinternet.tracker.ATInternet; import com.atinternet.tracker.Tracker; 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(); Cart cart = tracker.Cart().set("3"); cart.Products().add("ID[p1]") .setCategory1("10[Shoes]") .setQuantity(1) .setUnitPriceTaxFree(70) .setUnitPriceTaxIncluded(85) .setPromotionalCode("ATCode") .setDiscountTaxFree(0) .setDiscountTaxIncluded(0); cart.Products().add("ID[p2]") .setCategory1("20[Socks]") .setQuantity(2) .setUnitPriceTaxFree(70) .setUnitPriceTaxIncluded(85); Screen s = tracker.Screens().add("Order confirmation"); s.Order("cmd1", 94.40) .setStatus(1) .setNewCustomer(true) .Amount().set(80, 94.40, 14) .Delivery().set(4, 7.5, "1[TNT]") .Discount().set(5, 7.5, "SUMMER"); s.setCart(cart); s.sendView(); tracker.Cart().unset(); } }
- Réinitialisation du panier après avoir validé une commande
private void finishOrder() { // Reset cart ID and remove all products tracker.Cart().unset(); }
- Remplacement d’un panier existant
private void reinitCart() { // Set a new identifier for cart tracker.Cart().set("2"); }
- Ajout de produits au panier
private void addProduct(){ tracker.Cart().Products().add("ID[p1]") .setCategory1("10[Shoes]") .setQuantity(1) .setUnitPriceTaxFree(70) .setUnitPriceTaxIncluded(85) .setPromotionalCode("ATCode") .setDiscountTaxFree(0) .setDiscountTaxIncluded(0); }
- Suppression d’un produit du panier
private void removeProduct(){ tracker.Cart().Products().remove("ID[p1]"); }
- Suppression de tous les produits du panier
private void removeAllProducts(){ tracker.Cart().Products().clear(); }
Classe Cart
Propriétés
Nom | Type | Valeur par défaut | Description |
---|---|---|---|
cartId | String | « » | Obtient ou définit l’identifiant du panier |
products | Products | null | Obtient ou définit les produits du panier |
Méthodes
Nom | Type de retour | Description |
---|---|---|
set | Cart | Active le panier et définit un identifiant |
unset | void | Réinitialise le panier et supprime les produits |
Classe Product
Propriétés
Nom | Type | Valeur par défaut | Description |
---|---|---|---|
productId | String | null | Obtient ou définit l’identifiant du produit |
category1 | String | null | Obtient ou définit la 1ère catégorie du produit |
category2 | String | null | Obtient ou définit la 2nde catégorie du produit |
category3 | String | null | Obtient ou définit la 3ème catégorie du produit |
category4 | String | null | Obtient ou définit la 4ème catégorie du produit |
category5 | String | null | Obtient ou définit la 5ème catégorie du produit |
category6 | String | null | Obtient ou définit la 6ème catégorie du produit |
quantity | Int | -1 | Obtient ou définit la quantité de produit |
unitPriceTaxIncluded | Double | -1 | Obtient ou définit le prix unitaire TTC |
unitPriceTaxFree | Double | -1 | Obtient ou définit le prix unitaire HT |
discountTaxIncluded | Double | -1 | Obtient ou définit le montant de remise TTC |
discountTaxFree | Double | -1 | Obtient ou définit le montant de remise HT |
promotionalCode | String | null | Obtient ou définit le code promotionnel pour le produit |