配置点击

本指南介绍了如何在 IMA SDK 实现中更好地控制点击。“点击”是指用户点击广告并进入该广告的着陆页的过程。本指南中的示例演示了如何配置着陆页的打开位置,以及如何监听与用户访问该页面相关的事件。

前提条件

已实现 IMA SDK 的 iOS 应用。

配置点击

IMA SDK 提供了两种打开广告着陆页的选项:通过应用内浏览器或通过 Safari。默认情况下,SDK 使用 Safari 打开网页。如需更新 SDK 以使用应用内浏览器,您需要使用 IMAAdsRenderingSettings
func createAdsRenderingSettings() {
  self.adsRenderingSettings = IMAAdsRenderingSettings();
  self.adsRenderingSettings.linkOpenerDelegate = self;
  self.adsRenderingSettings.linkOpenerPresentingController = self;
}
- (void)createAdsRenderingSettings {
  self.adsRenderingSettings = [[IMAAdsRenderingSettings alloc] init];
  self.adsRenderingSettings.linkOpenerDelegate = self;
  self.adsRenderingSettings.linkOpenerPresentingController = self;
}
配置 IMAAdsRenderingSettings 实例后,您可以将其传递给 IMAAdsManager 初始化方法:
self.adsManager.initialize(withAdsRenderingSettings: adsRenderingSettings);
[self.adsManager initializeWithAdsRenderingSettings:adsRenderingSettings];
IMA SDK 提供 IMALinkOpenerDelegate,用于在用户即将看到或刚刚关闭点击到达页面时进行通信。如需使用此代理,请将其添加到头文件中的代理列表,并实现其方法。在标题中:
class ViewController: UIViewController, IMALinkOpenerDelegate {
@interface ViewController : UIViewController<IMALinkOpenerDelegate>
在实现中:
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.")
}
- (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.");
}