Este guia explica como implementar mais controle sobre o clique na sua implementação do SDK do IMA. "Clique" se refere ao processo de um usuário clicar em um anúncio e acessar a página de destino dele. Os exemplos neste guia demonstram como configurar onde essa página de destino é aberta e como detectar eventos relacionados a usuários que visitam essa página.
Pré-requisitos
Um aplicativo iOS com o SDK do IMA implementado.
Como configurar o clique
Como mudar o abridor de links
O SDK do IMA oferece duas opções para abrir páginas de destino de anúncios: por um navegador no app ou pelo Safari. Por padrão, o SDK abre páginas usando o Safari. Para atualizar o SDK para usar um navegador no app, useIMAAdsRenderingSettings
:
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
, é possível transmiti-la ao
método de inicialização IMAAdsManager
:
Swift
self.adsManager.initialize(withAdsRenderingSettings: adsRenderingSettings);
Objective-C
[self.adsManager initializeWithAdsRenderingSettings:adsRenderingSettings];
Como detectar eventos relacionados a cliques
O SDK do IMA fornece oIMALinkOpenerDelegate
para comunicar quando o usuário está prestes
a ver ou acabou de fechar uma página de clique. Para usar esse delegado, adicione-o à lista de delegados
no cabeçalho e implemente os métodos dele. No cabeçalho:
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."); }