Commandes
- iOS
- watchOS
- tvOS
Avant-propos
Le SDK AT Internet vous permet de marquer les commandes effectuées par vos utilisateurs durant l’utilisation de votre application.
Pour bien débuter
Une fois votre marqueur initialisé, vous pouvez ajouter les informations de commandes à votre hit décran.
Dans le cas dun projet Swift, veillez à importer le module SmartTracker (ou tvOSTracker / watchOSTracker si votre target est une Apple TV / Apple watch) dans votre ViewController. Dans le cas dun projet Objective-C, veillez à importer SmartTracker-Swift.h
Marquage
Le tracker met à disposition une propriété orders. Cette propriété expose une méthode add permettant de renseigner les informations de commandes et dajouter ces dernières à votre marquage décran. Cette méthode renvoie un objet de type Order.
Il faut ajouter votre commande au tracker avant de déclarer un nouvel écran sinon 2 hits séparés seront envoyés.
Vous pouvez aussi déclarer une commande en tant que propriété de votre écran.
Exemples de marquage
- Marquage d’une commande et d’un écran à objectif principal
Sans l’option SalesTrackerMême sans loption SalesTracker, vous avez la possibilité de mesurer l’écran de finalisation de commande (objectif principal) en y insérant le montant de lachat (turnOver) ainsi que le numéro de la commande (orderId).
import UIKit import Tracker class ViewController: UIViewController { let tracker: Tracker = ATInternet.sharedInstance.defaultTracker override func viewDidLoad() { super.viewDidLoad() } override func viewWillAppear(animated: Bool) { tracker.orders.add("8235", turnover: 2049.30) tracker.screens.add("Main goal screen").sendView() } }
#import "ViewController.h" #import "SmartTracker/SmartTracker-Swift.h" @interface ViewController () @property (nonatomic, strong) Tracker* tracker; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; self.tracker = [ATInternet sharedInstance].defaultTracker; } - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; [self.tracker.orders add:@"8235" turnover:2049.30]; [[self.tracker.screens add:@"Main goal screen"] sendView]; } @end
import UIKit import Tracker class ViewController: UIViewController { let tracker: Tracker = ATInternet.sharedInstance.defaultTracker override func viewDidLoad() { super.viewDidLoad() } override func viewWillAppear(_ animated: Bool) { let screen = tracker.screens.add("Main goal screen") screen.order = Order(orderId: "8235", turnover: 2049.30) screen.sendView() } }
#import "ViewController.h" #import "SmartTracker/SmartTracker-Swift.h" @interface ViewController () @property (nonatomic, strong) Tracker* tracker; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; self.tracker = [ATInternet sharedInstance].defaultTracker; } - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; [self.tracker.orders add:@"8235" turnover:2049.30]; [[self.tracker.screens add:@"Main goal screen"] sendView]; } @end
Avec l’option SalesTracker
import UIKit import Tracker class ViewController: UIViewController { let tracker: Tracker = ATInternet.sharedInstance.defaultTracker override func viewDidLoad() { super.viewDidLoad() } override func viewWillAppear(_ animated: Bool) { let order = tracker.orders.add("cmd1", turnover: 94.30, status: 1) // First order from that customer order.isNewCustomer = true // Payment Method order.paymentMethod = 1 // Order Status order.status = 1 // Order amount order.amount.set(80, amountTaxIncluded: 94.30, taxAmount: 14) // Order delivery info order.delivery.set(5, shippingFeesTaxIncluded: 7.5, deliveryMethod: "1[UPS]") // Discount info order.discount.set(5, discountTaxIncluded: 7.5, promotionalCode: "SUMMER") let confirmOrderScreen = tracker.screens.add("Order confirmation") confirmOrderScreen.sendView() } }
#import "ViewController.h" #import "SmartTracker/SmartTracker-Swift.h" @interface ViewController () @property (nonatomic, strong) Tracker* tracker; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; self.tracker = [ATInternet sharedInstance].defaultTracker; } - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; Order* order = [self.tracker.orders add:@"cmd1" turnover: 94.30 status: 1]; // First order from that custom order.isNewCustomer = YES; // Payment Method order.paymentMethod = 1; // Order Status order.status = 1; // Order amount [order.amount set:80 amountTaxIncluded:94.30 taxAmount: 14]; // Order delivery info [order.delivery set:5 shippingFeesTaxIncluded: 7.5 deliveryMethod: @"1[UPS]"]; // Discount info [order.discount set:5 discountTaxIncluded: 7.5 promotionalCode: @"SUMMER"]; Screen *confirmOrderScreen = [self.tracker.screens add:@"Order confirmation"]; [confirmOrderScreen sendView]; } @end
- Marquage d’une commande avec les informations de panier
Pour plus d’informations sur le marquage de votre panier, rendez-vous sur cette page : Panier (SalesTracker)import UIKit import Tracker class ViewController: UIViewController { let tracker: Tracker = ATInternet.sharedInstance.defaultTracker override func viewDidLoad() { super.viewDidLoad() } override func viewWillAppear(_ animated: Bool) { tracker.cart.set("1") let p1 = tracker.cart.products.add("ID[p1]") p1.category1 = "10[Shoes]" p1.quantity = 1 p1.unitPriceTaxFree = 70 p1.unitPriceTaxIncluded = 85 p1.promotionalCode = "ATInternet" p1.discountTaxFree = 0 p1.discountTaxIncluded = 0 let p2 = tracker.cart.products.add("ID[p2]") p2.category1 = "20[Socks]" p2.quantity = 2 p2.unitPriceTaxFree = 5 p2.unitPriceTaxIncluded = 7 let order = tracker.orders.add("cmd1", turnover: 94.30, status: 1) // First order from that custom order.isNewCustomer = true // Payment Method order.paymentMethod = 1 // Order Status order.status = 1 // Order amount order.amount.set(80, amountTaxIncluded: 94.30, taxAmount: 14) // Order delivery info order.delivery.set(5, shippingFeesTaxIncluded: 7.5, deliveryMethod: "1[UPS]") // Discount info order.discount.set(5, discountTaxIncluded: 7.5, promotionalCode: "SUMMER") let confirmOrderScreen = tracker.screens.add("Order confirmation") confirmOrderScreen.sendView() tracker.cart.unset() } }
#import "ViewController.h" #import "SmartTracker/SmartTracker-Swift.h" @interface ViewController () @property (nonatomic, strong) Tracker* tracker; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; self.tracker = [ATInternet sharedInstance].defaultTracker; } - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; [self.tracker.cart set:@"1"]; Product *p1 = [self.tracker.cart.products addString:@"ID[p1]"]; p1.category1 = @"10[Shoes]"; p1.quantity = 1; p1.unitPriceTaxFree = 70; p1.unitPriceTaxIncluded = 85; p1.promotionalCode = @"ATInternet"; p1.discountTaxFree = 0; p1.discountTaxIncluded = 0; Product *p2 = [self.tracker.cart.products addString:@"ID[p2]"]; p2.category1 = @"20[Socks]"; p2.quantity = 2; p2.unitPriceTaxFree = 5; p2.unitPriceTaxIncluded = 7; Order* order = [self.tracker.orders add:@"cmd1" turnover:94.30 status: 1]; // First order from that custom order.isNewCustomer = YES; // Payment Method order.paymentMethod = 1; // Order Status order.status = 1; // Order amount [order.amount set:80 amountTaxIncluded: 94.30 taxAmount: 14]; // Order delivery info [order.delivery set:5 shippingFeesTaxIncluded: 7.5 deliveryMethod: @"1[UPS]"]; // Discount info [order.discount set:5 discountTaxIncluded: 7.5 promotionalCode: @"SUMMER"]; Screen *confirmOrderScreen = [self.tracker.screens add:@"Order confirmation"]; [confirmOrderScreen sendView]; [self.tracker.cart unset]; } @end
- Marquage d’écran de confirmation sur app ou site extérieur
Lobjectif est ici de pouvoir mesurer les validations de commandes et réservations, malgré le fait que l’écran de confirmation soit hébergé par une app ou site extérieur (plateformes bancaires, paypal …). Le marqueur doit être placé sur l’écran précédant le départ vers la banque (contenant toutes les informations de commandes/réservations et de contenu de commande/réservation)import UIKit import Tracker class ViewController: UIViewController { let tracker: Tracker = ATInternet.sharedInstance.defaultTracker override func viewDidLoad() { super.viewDidLoad() } override func viewWillAppear(_ animated: Bool) { let order = tracker.orders.add("cmd1", turnover: 94.30, status: 1) // First order from that custom order.isNewCustomer = true // Payment Method order.paymentMethod = 1 // Order Status order.status = 1 // Order needs confirmation (bank validation) order.isConfirmationRequired = true // Order amount order.amount.set(80, amountTaxIncluded: 94.30, taxAmount: 14) // Order delivery info order.delivery.set(5, shippingFeesTaxIncluded: 7.5, deliveryMethod: "1[UPS]") // Discount info order.discount.set(5, discountTaxIncluded: 7.5, promotionalCode: "SUMMER") let myScreen = tracker.screens.add("Order info before payment") myScreen.sendView() } }
#import "ViewController.h" #import "SmartTracker/SmartTracker-Swift.h" @interface ViewController () @property (nonatomic, strong) Tracker* tracker; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; self.tracker = [ATInternet sharedInstance].defaultTracker; } - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; Order* order = [self.tracker.orders add:@"cmd1" turnover:94.30 status: 1]; // First order from that custom order.isNewCustomer = YES; // Payment Method order.paymentMethod = 1; // Order Status order.status = 1; // Order needs confirmation (bank validation) order.isConfirmationRequired = YES; // Order amount [order.amount set:80 amountTaxIncluded: 94.30 taxAmount: 14]; // Order delivery info [order.delivery set:5 shippingFeesTaxIncluded: 7.5 deliveryMethod: @"1[UPS]"]; // Discount info [order.discount set:5 discountTaxIncluded: 7.5 promotionalCode: @"SUMMER"]; Screen *myScreen = [self.tracker.screens add:@"Order info before payment"]; [myScreen sendView]; } @end
- Marquage d’une commande avec ajout de variables personnalisées
import UIKit import Tracker class ViewController: UIViewController { let tracker: Tracker = ATInternet.sharedInstance.defaultTracker override func viewDidLoad() { super.viewDidLoad() } override func viewWillAppear(_ animated: Bool) { let order = tracker.orders.add("cmd1", turnover: 94.30, status: 1) // First order from that custom order.isNewCustomer = true // Payment Method order.paymentMethod = 1 // Order Status order.status = 1 // Order amount order.amount.set(80, amountTaxIncluded: 94.30, taxAmount: 14) // Order delivery info order.delivery.set(5, shippingFeesTaxIncluded: 7.5, deliveryMethod: "1[UPS]") // Discount info order.discount.set(5, discountTaxIncluded: 7.5, promotionalCode: "SUMMER") // Custom variables order.customVariables.add(1, value: "fr") order.customVariables.add(2, value: "fr_FR") let myScreen = tracker.screens.add("Order info before payment") myScreen.sendView() } }
#import "ViewController.h" #import "SmartTracker/SmartTracker-Swift.h" @interface ViewController () @property (nonatomic, strong) Tracker* tracker; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; self.tracker = [ATInternet sharedInstance].defaultTracker; } - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; Order* order = [self.tracker.orders add:@"cmd1" turnover: 94.30 status: 1]; // First order from that custom order.isNewCustomer = YES; // Payment Method order.paymentMethod = 1; // Order Status order.status = 1; // Order amount [order.amount set:80 amountTaxIncluded: 94.30 taxAmount: 14]; // Order delivery info [order.delivery set:5 shippingFeesTaxIncluded: 7.5 deliveryMethod: @"1[UPS]"]; // Discount info [order.discount set:5 discountTaxIncluded: 7.5 promotionalCode: @"SUMMER"]; // Custom variables [order.customVariables add:1 value:@"fr"]; [order.customVariables add:2 value:@"fr_FR"]; Screen *myScreen = [self.tracker.screens add:@"Order info before payment"]; [myScreen sendView]; } @end