Z tego przewodnika dowiesz się, jak zwiększyć kontrolę nad klikalnością w implementacji pakietu IMA SDK. „Kliknięcie” to proces, w którym użytkownik klika reklamę i przechodzi na jej stronę docelową. Przykłady w tym przewodniku pokazują, jak skonfigurować otwieranie strony docelowej i jak odbierać zdarzenia związane z użytkownikami, którzy ją odwiedzają.
Wymagania wstępne
Aplikacja na iOS z zaimplementowanym pakietem IMA SDK.
Konfigurowanie kliknięcia
Zmiana osoby otwierającej link
Pakiet IMA SDK udostępnia 2 opcje otwierania stron docelowych reklam: za pomocą przeglądarki w aplikacji lub przeglądarki Safari. Domyślnie pakiet SDK otwiera strony za pomocą Safari. Aby zaktualizować pakiet SDK, aby używać przeglądarki w aplikacji, musisz użyćIMAAdsRenderingSettings
:
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
możesz ją przekazać metodzie inicjalizacji IMAAdsManager
:
Swift
self.adsManager.initialize(withAdsRenderingSettings: adsRenderingSettings);
Objective-C
[self.adsManager initializeWithAdsRenderingSettings:adsRenderingSettings];
Nasłuchiwanie zdarzeń związanych z przekierowaniem
Pakiet IMA SDK udostępnia zdarzenieIMALinkOpenerDelegate
, aby poinformować, że użytkownik ma zamiar wyświetlić lub właśnie zamknął stronę z przekierowaniem. Aby użyć tego delegata, dodaj go do listy delegatów w nagłówku i zaimplementuj jego metody. W nagłówku:
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."); }