Developers » AS2 tagging » Apple » Campagnes » Publicités on-site
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.
Afin de vous assurer de la bonne mesure de la campagne Auto-Promotion, il est également nécessaire de vérifier que la campagne est bien déclarée dans l’interface Configuration > Campagnes marketing.
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
- 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
- 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]; }
- 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
- 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]; }
- 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
- 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
- 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
- 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
- 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
Nom | Type | Valeur par défaut | Description |
---|---|---|---|
campaignId | String | Chaîne vide | Obtient ou définit le nom de la campagne (ex : [libelle] ou id[libelle]) |
creation | String? | nil | Obtient ou définit le nom de la création (ex : ([libelle] ou id[libelle]) |
variant | String? | nil | Obtient ou définit le nom de la variante (ex : ([libelle] ou id[libelle]) |
format | String? | nil | Obtient ou définit le nom du format (identifiant prédéfini ou personnalisé. ex : [120×40]) |
generalPlacement | String? | nil | Obtient ou définit l’emplacement général (id texte prédéfini par nos soins, à mettre au format [libelle]) |
detailedPlacement | String? | nil | Obtient ou définit le détail de l’emplacement (ex : [libelle] ou id[libelle]) |
advertiserId | String? | nil | Obtient ou définit l’identifiant de l’annonceur (ex : id[libelle]) |
url | String? | nil | Obtient ou définit l’URL vers laquelle se fait le lien (ex : [url]) |
action | Enum | OnAppAd.Action.View | Obtient ou définit le type d’action (View ou Touch) |
Méthodes
Nom | Type de retour | Description |
---|---|---|
sendTouch | void | Envoie un hit indiquant qu’une pub a été touchée |
sendImpression | void | Envoie un hit indiquant qu’une pub a été vue |
Classe SelfPromotion
Propriétés
Nom | Type | Valeur par défaut | Description |
---|---|---|---|
adId | Int | 0 | Obtient ou définit l’identifiant de la publicité |
format | String? | nil | Obtient ou définit le nom du format (identifiant prédéfini ou personnalisé. ex : [120×40]) |
productId | String? | nil | Obtient ou définit l’identifiant du produit concerné par lauto-promotion que l’on pourra retrouver dans la commande (Soumis à l’option SalesTracker) |
action | Enum | OnAppAd.Action.View | Obtient ou définit le type d’action (View ou Touch) |
Méthodes
Nom | Type de retour | Description |
---|---|---|
sendTouch | void | Envoie un hit indiquant qu’une campagne d’auto-promotion a été touchée |
sendImpression | void | Envoie un hit indiquant qu’une campagne d’auto-promotion a été vue |