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
Modifier l'outil d'ouverture du lien
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 utiliserIMAAdsRenderingSettings
:
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; }
IMAAdsRenderingSettings
, vous pouvez la transmettre à la méthode d'initialisation IMAAdsManager
:
Swift
self.adsManager.initialize(withAdsRenderingSettings: adsRenderingSettings);
Objective-C
[self.adsManager initializeWithAdsRenderingSettings:adsRenderingSettings];
Écouter les événements liés aux clics
Le SDK IMA fournitIMALinkOpenerDelegate
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>
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."); }