사용자 클릭 이벤트 제어

이 가이드에서는 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.");
}