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