控管使用者點擊事件

本指南說明如何在 IMA SDK 導入作業中,進一步控管點閱率。「點擊率」是指使用者點按廣告並前往該廣告的到達網頁的過程。本指南的範例說明如何設定到達網頁的開啟位置,以及如何監聽與使用者造訪該網頁相關的事件。

必要條件

已導入 IMA SDK 的 iOS 應用程式。

設定點閱

IMA SDK 提供兩種開啟廣告到達網頁的選項:透過應用程式內瀏覽器或 Safari。根據預設,SDK 會使用 Safari 開啟網頁。如要更新 SDK 以使用應用程式內瀏覽器,您必須使用 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 例項後,您可以將其傳遞至 IMAAdsManager 初始化方法:

Swift

self.adsManager.initialize(withAdsRenderingSettings: adsRenderingSettings);

Objective-C

[self.adsManager initializeWithAdsRenderingSettings:adsRenderingSettings];
IMA SDK 會提供 IMALinkOpenerDelegate,用於在使用者即將查看或剛關閉點閱頁面時進行通訊。如要使用這個委派函,請將其加入標頭中的委派函清單,並實作其方法。在頁首中:

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