Questa guida spiega come implementare un maggiore controllo sui clic indiretti nell'implementazione dell'SDK IMA. Per "clicthrough" si intende la procedura che prevede che un utente faccia clic su un annuncio e acceda alla pagina di destinazione dell'annuncio. Gli esempi in questa guida mostrano come configurare l'apertura della pagina di destinazione e come rilevare gli eventi relativi agli utenti che visitano la pagina.
Prerequisiti
Un'applicazione per iOS con l'SDK IMA implementato.
Configurazione del clickthrough
Modificare l'aprilink
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 da utilizzare un browser in-app, devi utilizzareIMAAdsRenderingSettings
:
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
, puoi passarla al metodo di inizializzazione IMAAdsManager
:
Swift
self.adsManager.initialize(withAdsRenderingSettings: adsRenderingSettings);
Objective-C
[self.adsManager initializeWithAdsRenderingSettings:adsRenderingSettings];
Ascolto di eventi correlati ai clicthrough
L'SDK IMA fornisce il messaggioIMALinkOpenerDelegate
per comunicare quando l'utente sta per visualizzare o ha appena chiuso una pagina di destinazione. Per utilizzare questo delegato, aggiungilo all'elenco
dei delegati nell'intestazione e implementa i relativi metodi. Nell'intestazione:
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."); }