Questa guida spiega come implementare un maggiore controllo sul clickthrough nell'implementazione dell'SDK IMA. Il "click-through" è il processo con cui un utente fa clic su un annuncio e arriva alla relativa pagina di destinazione. Gli esempi in questa guida mostrano come configurare la posizione in cui si apre la pagina di destinazione e come ascoltare gli eventi correlati agli utenti che la visitano.
Prerequisiti
Un'applicazione iOS con l'SDK IMA implementato.
Configurazione del clickthrough
Modificare l'elemento di apertura del link
L'SDK IMA offre due opzioni per aprire le pagine di destinazione degli annunci: tramite un browser in-app o tramite Safari. Per impostazione predefinita, l'SDK apre le pagine utilizzando Safari. Per aggiornare l'SDK in modo che utilizzi un browser in-app, devi utilizzareIMAAdsRenderingSettings
:
- (void)createAdsRenderingSettings { self.adsRenderingSettings = [[IMAAdsRenderingSettings alloc] init]; self.adsRenderingSettings.linkOpenerDelegate = self; self.adsRenderingSettings.linkOpenerPresentingController = self; }Dopo aver configurato l'istanza
IMAAdsRenderingSettings
, puoi passarla al
metodo di inizializzazione IMAAdsManager
:
[self.adsManager initializeWithAdsRenderingSettings:adsRenderingSettings];
Ascoltare eventi correlati al clickthrough
L'SDK IMA fornisce l'elementoIMALinkOpenerDelegate
per comunicare quando l'utente sta per visualizzare
o ha appena chiuso una pagina di clickthrough. Per utilizzare questo delegato, aggiungilo al tuo elenco di delegati nell'intestazione e implementa i relativi metodi. Nell'intestazione:
@interface ViewController : UIViewController<IMALinkOpenerDelegate>E nell'implementazione:
- (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"); }