En esta guía, se explica cómo implementar más control sobre el clic en tu implementación del SDK de IMA. El término "clics" hace referencia al proceso en el que un usuario hace clic en un anuncio y llega a la página de destino de ese anuncio. En los ejemplos de esta guía, se muestra cómo configurar dónde se abre esa página de destino y cómo detectar eventos relacionados con los usuarios que visitan esa página.
Requisitos previos
Una aplicación para iOS con el SDK de IMA implementado
Cómo configurar el clic
Cómo cambiar el abridor de vínculos
El SDK de IMA ofrece dos opciones para abrir páginas de destino de anuncios: a través de un navegador integrado en la aplicación o a través de Safari. De forma predeterminada, el SDK abre páginas con Safari. Para actualizar el SDK y usar un navegador integrado en la app, debes usarIMAAdsRenderingSettings
:
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
, puedes pasársela al método de inicialización IMAAdsManager
:
Swift
self.adsManager.initialize(withAdsRenderingSettings: adsRenderingSettings);
Objective-C
[self.adsManager initializeWithAdsRenderingSettings:adsRenderingSettings];
Cómo detectar eventos relacionados con los clics
El SDK de IMA proporciona elIMALinkOpenerDelegate
para comunicarse cuando el usuario está a punto de ver o acaba de cerrar una página de clics. Para usar este delegado, agrégalo a tu lista de delegados en el encabezado y, luego, implementa sus métodos. En el encabezado:
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."); }