ควบคุมเหตุการณ์การคลิกของผู้ใช้

คู่มือนี้จะอธิบายวิธีใช้การควบคุมการคลิกผ่านได้มากขึ้นในการติดตั้งใช้งาน IMA SDK "การคลิกผ่าน" หมายถึงกระบวนการที่ผู้ใช้คลิกโฆษณาและไปยังหน้า Landing Page ของโฆษณานั้น ตัวอย่างในคู่มือนี้แสดงวิธีกําหนดค่าตําแหน่งที่หน้า Landing Page นั้นเปิดขึ้น และวิธีเฝ้าติดตามเหตุการณ์ที่เกี่ยวข้องกับผู้ใช้ที่เข้าชมหน้านั้น

ข้อกำหนดเบื้องต้น

แอปพลิเคชัน iOS ที่มีการติดตั้งใช้งาน IMA SDK

การกำหนดค่าการคลิกผ่าน

IMA SDK มี 2 ตัวเลือกในการเปิดหน้า Landing Page ของโฆษณา ได้แก่ ผ่านเบราว์เซอร์ในแอปหรือผ่าน Safari โดยค่าเริ่มต้น SDK จะเปิดหน้าเว็บโดยใช้ Safari หากต้องการอัปเดต SDK เพื่อใช้เบราว์เซอร์ในแอป คุณต้องใช้IMAAdsRenderingSettings
SwiftObjective-C
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 ดังนี้
SwiftObjective-C
self.adsManager.initialize(withAdsRenderingSettings: adsRenderingSettings);
[self.adsManager initializeWithAdsRenderingSettings:adsRenderingSettings];
IMA SDK มี IMALinkOpenerDelegate เพื่อสื่อสารเมื่อผู้ใช้กําลังจะดูหรือเพิ่งปิดหน้าคลิกผ่าน หากต้องการใช้ตัวรับมอบสิทธิ์นี้ ให้เพิ่มลงในรายการตัวรับมอบสิทธิ์ในส่วนหัว และใช้เมธอดของตัวรับมอบสิทธิ์ ในส่วนหัว
SwiftObjective-C
class ViewController: UIViewController, IMALinkOpenerDelegate {
@interface ViewController : UIViewController<IMALinkOpenerDelegate>
และในการนำไปใช้งาน
SwiftObjective-C
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.");
}