Klickkonfiguration

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

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 Sie IMAAdsRenderingSettings 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;
}
Nachdem du die IMAAdsRenderingSettings-Instanz konfiguriert hast, kannst du sie an die IMAAdsManager-Initialisierungsmethode übergeben:

Swift

self.adsManager.initialize(withAdsRenderingSettings: adsRenderingSettings);

Objective-C

[self.adsManager initializeWithAdsRenderingSettings:adsRenderingSettings];
Das IMA SDK bietet die IMALinkOpenerDelegate, 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>
Und bei der Implementierung:

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.");
}