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

این راهنما نحوه اجرای کنترل بیشتر روی کلیک را در پیاده سازی IMA SDK توضیح می دهد. "Clickthrough" به فرآیند کلیک کاربر روی یک تبلیغ و رسیدن به صفحه فرود آن تبلیغ اشاره دارد. مثال‌های این راهنما نشان می‌دهد که چگونه می‌توان مکان باز شدن صفحه فرود را پیکربندی کرد و چگونه به رویدادهای مربوط به کاربرانی که از آن صفحه بازدید می‌کنند گوش داد.

پیش نیازها

یک برنامه iOS با IMA SDK پیاده سازی شده است.

پیکربندی کلیک از طریق

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

سویفت

func createAdsRenderingSettings() {
  self.adsRenderingSettings = IMAAdsRenderingSettings();
  self.adsRenderingSettings.linkOpenerDelegate = self;
  self.adsRenderingSettings.linkOpenerPresentingController = self;
}

هدف-C

- (void)createAdsRenderingSettings {
  self.adsRenderingSettings = [[IMAAdsRenderingSettings alloc] init];
  self.adsRenderingSettings.linkOpenerDelegate = self;
  self.adsRenderingSettings.linkOpenerPresentingController = self;
}
هنگامی که نمونه IMAAdsRenderingSettings را پیکربندی کردید، می توانید آن را به روش مقداردهی اولیه IMAAdsManager ارسال کنید:

سویفت

self.adsManager.initialize(withAdsRenderingSettings: adsRenderingSettings);

هدف-C

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

سویفت

class ViewController: UIViewController, IMALinkOpenerDelegate {

هدف-C

@interface ViewController : UIViewController<IMALinkOpenerDelegate>
و در اجرا:

سویفت

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

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