Mengontrol peristiwa klik pengguna

Panduan ini menjelaskan cara menerapkan lebih banyak kontrol atas klik-tayang dalam penerapan IMA SDK Anda. "Klik-tayang" mengacu pada proses pengguna mengklik iklan dan membuka halaman landing untuk iklan tersebut. Contoh dalam panduan ini menunjukkan cara mengonfigurasi tempat halaman landing tersebut terbuka dan cara memproses peristiwa yang terkait dengan pengguna yang mengunjungi halaman tersebut.

Prasyarat

Aplikasi iOS dengan IMA SDK yang diterapkan.

Mengonfigurasi klik-tayang

IMA SDK menawarkan dua opsi untuk membuka halaman landing iklan—melalui browser dalam aplikasi, atau melalui Safari. Secara default, SDK membuka halaman menggunakan Safari. Untuk mengupdate SDK agar dapat menggunakan browser dalam aplikasi, Anda harus menggunakan 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;
}
Setelah mengonfigurasi instance IMAAdsRenderingSettings, Anda dapat meneruskannya ke metode inisialisasi IMAAdsManager:

Swift

self.adsManager.initialize(withAdsRenderingSettings: adsRenderingSettings);

Objective-C

[self.adsManager initializeWithAdsRenderingSettings:adsRenderingSettings];
IMA SDK menyediakan IMALinkOpenerDelegate untuk berkomunikasi saat pengguna akan melihat atau baru saja menutup halaman klik-tayang. Untuk menggunakan delegasi ini, tambahkan ke daftar delegasi Anda di header, dan terapkan metodenya. Di header:

Swift

class ViewController: UIViewController, IMALinkOpenerDelegate {

Objective-C

@interface ViewController : UIViewController<IMALinkOpenerDelegate>
Dan dalam penerapannya:

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