Configurazione clickthrough

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

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 utilizzare IMAAdsRenderingSettings:
- (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];
L'SDK IMA fornisce l'elemento IMALinkOpenerDelegate 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");
}