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 d’un 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 d’un 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 d’ajouter 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

  1. Marquage d’une commande et d’un écran à objectif principal
    Sans l’option SalesTracker

    Même sans l’option SalesTracker, vous avez la possibilité de mesurer l’écran de finalisation de commande (objectif principal) en y insérant le montant de l’achat (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
  2. 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
  3. Marquage d’écran de confirmation sur app ou site extérieur
    L’objectif 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
  4. 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