کنترل رویدادهای کلیک کاربر

این راهنما توضیح می‌دهد که چگونه کنترل بیشتری بر کلیک‌گذری در پیاده‌سازی «کیت توسعه نرم‌افزار IMA» خود داشته باشید. «کلیک‌گذری» به فرایندی اشاره دارد که کاربر روی آگهی کلیک می‌کند و به صفحه مقصد آن آگهی می‌رود. مثال‌های این راهنما نشان می‌دهد که چگونه پیکربندی کنید صفحه مقصد در کجا باز شود و چگونه به رویدادهای مربوط به کاربران بازدیدکننده از آن صفحه گوش دهید.

پیش‌نیازها

برنامه iOS که کیت توسعه نرم‌افزار IMA در آن پیاده‌سازی شده است.

درحال پیکربندی کلیک‌گذری

«کیت توسعه نرم‌افزار IMA» دو گزینه برای باز کردن صفحه‌های مقصد آگهی ارائه می‌دهد—ازطریق مرورگر درون‌برنامه، یا ازطریق Safari. به‌طور پیش‌فرض، «کیت توسعه نرم‌افزار» صفحه‌ها را بااستفاده از Safari باز می‌کند. برای به‌روزرسانی کیت توسعه نرم‌افزار برای استفاده از مرورگر درون‌برنامه‌ای، باید از IMAAdsRenderingSettings استفاده کنید:

Swift

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 منتقل کنید:

Swift

self.adsManager.initialize(withAdsRenderingSettings: adsRenderingSettings);

آبجکتیو-سی

[self.adsManager initializeWithAdsRenderingSettings:adsRenderingSettings];
کیت توسعه نرم‌افزار IMA IMALinkOpenerDelegate را برای برقراری ارتباط زمانی که کاربر در آستانه دیدن یا به‌تازگی بستن یک صفحه کلیک‌گذر است، فراهم می‌کند. برای استفاده از این نماینده، آن را به فهرست نماینده در سرایند اضافه کنید و روش‌های آن را پیاده‌سازی کنید. در سرایند:

Swift

class ViewController: UIViewController, IMALinkOpenerDelegate {

آبجکتیو-سی

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

آبجکتیو-سی

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