Configuration du clic

Ce guide explique comment mieux contrôler les clics dans votre implémentation du SDK IMA. Le terme "clics" désigne le processus par lequel un utilisateur clique sur une annonce et accède à la page de destination de cette annonce. Les exemples de ce guide montrent comment configurer l'emplacement d'ouverture de cette page de destination et comment écouter les événements liés aux utilisateurs qui accèdent à cette page.

Prérequis

Une application iOS avec le SDK IMA implémenté.

Configurer le clic

Le SDK IMA propose deux options pour ouvrir les pages de destination des annonces : via un navigateur intégré à l'application ou via Safari. Par défaut, le SDK ouvre les pages à l'aide de Safari. Pour mettre à jour le SDK afin d'utiliser un navigateur intégré à l'application, vous devez utiliser IMAAdsRenderingSettings:

Swift

func createAdsRenderingSettings() {
  self.adsRenderingSettings = IMAAdsRenderingSettings();
  self.adsRenderingSettings.linkOpenerDelegate = self;
  self.adsRenderingSettings.linkOpenerPresentingController = self;
}

Objective-C

- (void)createAdsRenderingSettings {
  self.adsRenderingSettings = [[IMAAdsRenderingSettings alloc] init];
  self.adsRenderingSettings.linkOpenerDelegate = self;
  self.adsRenderingSettings.linkOpenerPresentingController = self;
}
Une fois que vous avez configuré l'instance IMAAdsRenderingSettings, vous pouvez la transmettre à la méthode d'initialisation IMAAdsManager:

Swift

self.adsManager.initialize(withAdsRenderingSettings: adsRenderingSettings);

Objective-C

[self.adsManager initializeWithAdsRenderingSettings:adsRenderingSettings];
Le SDK IMA fournit IMALinkOpenerDelegate pour communiquer lorsque l'utilisateur est sur le point de voir ou vient de fermer une page de clic. Pour utiliser ce délégué, ajoutez-le à votre liste de délégués dans l'en-tête et implémentez ses méthodes. Dans l'en-tête :

Swift

class ViewController: UIViewController, IMALinkOpenerDelegate {

Objective-C

@interface ViewController : UIViewController<IMALinkOpenerDelegate>
Et dans l'implémentation:

Swift

func linkOpenerWillOpen(externalBrowser: NSObject) {
  print("External browser will open.")
}

func linkOpenerWillOpen(inAppLink: NSObject) {
  print("In-app browser will open.")
}

func linkOpenerDidOpen(inAppLink: NSObject) {
  print("In-app browser did open.")
}

func linkOpenerWillClose(inAppLink: NSObject) {
  print("In-app browser will close.")
}

func linkOpenerDidClose(inAppLink: NSObject) {
  print("In-app browser did close.")
}

Objective-C

- (void)linkOpenerWillOpenExternalBrowser:(NSObject *)linkOpener {
  NSLog(@"External browser will open.");
}

- (void)linkOpenerWillOpenInAppBrowser:(NSObject *)linkOpener {
  NSLog(@"In-app browser will open.");
}

- (void)linkOpenerDidOpenInAppBrowser:(NSObject *)linkOpener {
  NSLog(@"In-app browser did open.");
}

- (void)linkOpenerWillCloseInAppBrowser:(NSObject *)linkOpener {
  NSLog(@"In-app browser will close.");
}

- (void)linkOpenerDidCloseInAppBrowser:(NSObject *)linkOpener {
  NSLog(@"In-app browser did close.");
}