Publicités on-site

  • iOS
  • watchOS
  • tvOS
 

Avant-propos

Le SDK AT Internet propose la mesure de vos publicités in-app afin d’évaluer leurs performances.

L’objectif est de mesurer les « clics » et les impressions des campagnes de publicité d’auto-promotion mais également de campagnes affichées sur votre app pour un tiers, puis de les analyser.

 

Pour bien débuter

Une fois votre marqueur initialisé, vous pouvez débuter le marquage de vos publicités in-app.

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 les entêtes SmartTracker-Swift.h

 

Marquage

Pour marquer vos publicités, le tracker expose deux propriétés publishers et selfPromotions selon le type de publicité à mesurer.

Ces deux propriétés exposent à leur tour deux méthodes :

  • add 
  • sendImpressions

La méthode add permet d’ajouter un marqueur de publicité et de le mettre en attente d’envoi. Cette méthode renvoie un objet de type Publisher ou SelfPromotion selon le cas.

Pour envoyer les informations définies, vous devrez appeler la méthode sendTouch ou sendImpression de votre objet, en fonction du type d’action effectuée par l’utilisateur ou appeler la méthode dispatch du Tracker.

Attention, l’appel aux méthodes sendTouch et sendImpression, modifie la propriété action de l’objet.

La méthode sendImpressions permet d’envoyer toutes les informations de publicités dont l’action est définie comme Impression.

L’objet screen propose aussi de marquer des impressions. Pour tout autre type de publicités, on utilisera les méthodes du tracker décrites ci-dessus.

 

Exemples de marquage

  1. Marquage d’une impression d’une publicité pour un tiers

    import UIKit
    import Tracker
    
    class ViewController: UIViewController {
        let tracker: Tracker = ATInternet.sharedInstance.defaultTracker
        
        override func viewDidLoad() {
            super.viewDidLoad()
        }
        
        override func viewWillAppear(animated: Bool) {
           tracker.publishers.add("[ad1]").sendImpression()
        }
    }
    #import "ViewController.h"
    #import "SmartTracker/SmartTracker-Swift.h"
    
    @interface ViewController ()
    @property (nonatomic, strong) Tracker* tracker;
    @end
    
    @implementation ViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
    }
    
    - (void)viewWillAppear:(BOOL)animated {
        [super viewWillAppear:animated];
        [[self.tracker.publishers add:@"[ad1]"] sendImpression];
    }
    
    @end
  2. Marquage d’un « clic » sur une publicité pour un tiers

    @IBAction func touchAd(sender: UIButton) {
        ATInternet.sharedInstance.defaultTracker.publishers.add("[ad1]").sendTouch()
    }
    - (IBAction)touchAd:(UIButton *)sender {
        [[[ATInternet sharedInstance].defaultTracker.publishers add:@"[ad1]"] sendTouch];
    }
  3. Marquage d’une impression d’une campagne d’auto-promotion

    import UIKit
    import Tracker
    
    class ViewController: UIViewController {
        let tracker: Tracker = ATInternet.sharedInstance.defaultTracker
        
        override func viewDidLoad() {
            super.viewDidLoad()
        }
        
        override func viewWillAppear(animated: Bool) {
           tracker.selfPromotions.add(1).sendImpression()
        }
    }
    #import "ViewController.h"
    #import "SmartTracker/SmartTracker-Swift.h"
    
    @interface ViewController ()
    @property (nonatomic, strong) Tracker* tracker;
    @end
    
    @implementation ViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
    }
    
    - (void)viewWillAppear:(BOOL)animated {
        [super viewWillAppear:animated];
        [[self.tracker.selfPromotions add:1] sendImpression];
    }
    
    @end
  4. Marquage d’un « clic » sur une campagne d’auto-promotion

    @IBAction func touchAd(sender: UIButton) {
        ATInternet.sharedInstance.defaultTracker.selfPromotions.add(1).sendTouch()
    }
    - (IBAction)touchAd:(UIButton *)sender {
        [[[ATInternet sharedInstance].defaultTracker.selfPromotions add:1] sendTouch];
    }
  5. Marquage de plusieurs publicités et envoie des impressions

    50 impressions peuvent être mesurées au maximum par page

    import UIKit
    import Tracker
    
    class ViewController: UIViewController {
        let tracker: Tracker = ATInternet.sharedInstance.defaultTracker
        
        override func viewDidLoad() {
            super.viewDidLoad()
        }
        
        override func viewWillAppear(animated: Bool) {
            let ad1 = tracker.publishers.add("[ad1]")
            ad1.creation = "[creation]"
            ad1.variant = "[variant]"
            ad1.format = "[120x40]"
            ad1.generalPlacement = "[generalPlacement]"
            ad1.detailedPlacement = "[detailedPlacement]"
            ad1.advertiserId = "1[advertiserId]"
            ad1.url = "[http://avertiser-url.com]"
            
            tracker.publishers.add("[ad2]")
            
            let ad3 = tracker.publishers.add("[ad3]")
            ad3.creation = "[creation]"
            ad3.variant = "[variant]"
            
            tracker.publishers.sendImpressions()
        }
    }
    #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];
        Publisher *ad1 = [self.tracker.publishers add:@"[ad1]"];
        ad1.creation = @"[creation]";
        ad1.variant = @"[variant]";
        ad1.format = @"[120x40]";
        ad1.generalPlacement = @"[generalPlacement]";
        ad1.detailedPlacement = @"[detailedPlacement]";
        ad1.advertiserId = @"1[advertiserID]";
        ad1.url = @"[http://avertiser-url.com]";
        
        [self.tracker.publishers add:@"[ad2]"];
        
        Publisher *ad3 = [self.tracker.publishers add:@"[ad3]"];
        ad3.creation = @"[creation]";
        ad3.variant = @"[variant]";
        
        [self.tracker.publishers sendImpressions];
    }
    
    @end
  6. Marquage de plusieurs campagnes d’auto-promotion et envoie des impressions

    import UIKit
    import Tracker
    
    class ViewController: UIViewController {
        let tracker: Tracker = ATInternet.sharedInstance.defaultTracker
        
        override func viewDidLoad() {
            super.viewDidLoad()
        }
        
        override func viewWillAppear(animated: Bool) {
            let sp1 = tracker.selfPromotions.add(1)
            sp1.format = "[120x40]"
            sp1.productId = "p1"
    
            tracker.selfPromotions.add(2)
            
            let sp3 = tracker.selfPromotions.add(3)
            sp3.productId = "p3"
            
            tracker.selfPromotions.sendImpressions()
        }
    }
    #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];
        SelfPromotion *sp1 = [self.tracker.selfPromotions add:1];
        sp1.format = @"[120x40]";
        sp1.productId = @"p1";
        
        [self.tracker.selfPromotions add:2];
        
        SelfPromotion *sp3 = [self.tracker.selfPromotions add:3];
        sp3.productId = @"p3";
        
        [self.tracker.selfPromotions sendImpressions];
    }
    
    @end
  7. Marquage de publicités et de campagnes d’auto-promotion et utilisation du dispatcher

    import UIKit
    import Tracker
    
    class ViewController: UIViewController {
        let tracker: Tracker = ATInternet.sharedInstance.defaultTracker
        
        override func viewDidLoad() {
            super.viewDidLoad()
        }
        
        override func viewWillAppear(animated: Bool) {
            tracker.publishers.add("[ad1]")
            tracker.publishers.add("[ad2]")
            tracker.selfPromotions.add(1)
    
            // This will send one hit with publishers and selfpromotion impressions
            tracker.dispatch()
        }
    }
    #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.publishers add:@"[ad1]"];
        [self.tracker.publishers add:@"[ad2]"];
        [self.tracker.selfPromotions add:1];
    
        // This will send one hit with publishers and selfpromotion impressions
        [self.tracker dispatch];
    }
    
    @end
  8. Marquage de publicités et campagnes d’auto-promotion et ajout des informations sur un écran

    import UIKit
    import Tracker
    
    class ViewController: UIViewController {
        let tracker: Tracker = ATInternet.sharedInstance.defaultTracker
        
        override func viewDidLoad() {
            super.viewDidLoad()
        }
        
        override func viewWillAppear(animated: Bool) {
            tracker.publishers.add("[ad1]")
            tracker.publishers.add("[ad2]")
            tracker.selfPromotions.add(1)
            tracker.screens.add("Home").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.publishers add:@"[ad1]"];
        [self.tracker.publishers add:@"[ad2]"];
        [self.tracker.selfPromotions add:1];
        [[self.tracker.screens add:@"Home"] sendView];
    }
    
    @end
  9. Marquage d’une impression sur un écran

    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("Home")
            _ = screen.publishers.add("[ad1]")
            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];
        Screen *screen = [[self.tracker screens] add:@"Home"];
        [screens.publishers add:@"[ad1]"];
        [screen sendView];
    }
    
    @end
 

Classe Publisher

 

Propriétés

NomTypeValeur par défautDescription
campaignIdStringChaîne videObtient ou définit le nom de la campagne (ex : [libelle] ou id[libelle])
creationString?nilObtient ou définit le nom de la création (ex : ([libelle] ou id[libelle])
variantString?nilObtient ou définit le nom de la variante (ex : ([libelle] ou id[libelle])
formatString?nilObtient ou définit le nom du format (identifiant prédéfini ou personnalisé. ex : [120×40])
generalPlacementString?nilObtient ou définit l’emplacement général (id texte prédéfini par nos soins, à mettre au format [libelle])
detailedPlacementString?nilObtient ou définit le détail de l’emplacement (ex : [libelle] ou id[libelle])
advertiserIdString?nilObtient ou définit l’identifiant de l’annonceur (ex : id[libelle])
urlString?nilObtient ou définit l’URL vers laquelle se fait le lien. Celle-ci est forcément liée à l’identifiant de l’annonceur
actionEnumOnAppAd.Action.ViewObtient ou définit le type d’action (View ou Touch)
 

Méthodes

NomType de retourDescription
sendTouchvoidEnvoie un hit indiquant qu’une pub a été touchée
sendImpressionvoidEnvoie un hit indiquant qu’une pub a été vue
 

Classe SelfPromotion

 

Propriétés

NomTypeValeur par défautDescription

adId

Int0Obtient ou définit l’identifiant de la publicité
formatString?nilObtient ou définit le nom du format (identifiant prédéfini ou personnalisé. ex : [120×40])
productIdString?nilObtient ou définit l’identifiant du produit concerné par l’auto-promotion que l’on pourra retrouver dans la commande (Soumis à l’option SalesTracker)
actionEnumOnAppAd.Action.ViewObtient ou définit le type d’action (View ou Touch)
 

Méthodes

NomType de retourDescription
sendTouchvoidEnvoie un hit indiquant qu’une campagne d’auto-promotion a été touchée
sendImpressionvoidEnvoie un hit indiquant qu’une campagne d’auto-promotion a été vue
 

Cet article vous a-t-il été utile ?

Dernière mise à jour : 20/09/2019