In diesem Leitfaden wird beschrieben, wie du die Kontrolle über Klicks in deiner IMA SDK-Implementierung erweitern kannst. „Klicks“ bezieht sich auf den Vorgang, bei dem ein Nutzer auf eine Anzeige klickt und zur Landingpage dieser Anzeige weitergeleitet wird. In den Beispielen in diesem Leitfaden wird veranschaulicht, wie Sie konfigurieren, wo diese Landingpage geöffnet wird, und wie Sie auf Ereignisse reagieren, die sich auf Nutzer beziehen, die diese Seite besuchen.
Vorbereitung
Eine iOS-App mit implementiertem IMA SDK.
Klicks konfigurieren
Linköffner ändern
Das IMA SDK bietet zwei Möglichkeiten, Anzeigen-Landingpages zu öffnen: über einen In-App-Browser oder über Safari. Standardmäßig öffnet das SDK Seiten mit Safari. Wenn Sie das SDK für die Verwendung eines In-App-Browsers aktualisieren möchten, müssen SieIMAAdsRenderingSettings
verwenden:
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
-Instanz konfiguriert hast, kannst du sie an die IMAAdsManager
-Initialisierungsmethode übergeben:
Swift
self.adsManager.initialize(withAdsRenderingSettings: adsRenderingSettings);
Objective-C
[self.adsManager initializeWithAdsRenderingSettings:adsRenderingSettings];
Auf Klickereignisse warten
Das IMA SDK bietet dieIMALinkOpenerDelegate
, um zu kommunizieren, ob der Nutzer eine Klick-through-Seite sehen wird oder gerade geschlossen hat. Wenn Sie diesen Delegate verwenden möchten, fügen Sie ihn der Delegate-Liste im Header hinzu und implementieren Sie seine Methoden. Im Header:
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."); }