שליטה באירועי קליקים של משתמשים

במדריך הזה נסביר איך להטמיע יותר שליטה על קליקים בהטמעה של IMA SDK. 'קלי��-תור' מתייחס לתהליך שבו משתמש לוחץ על מודעה ומגיע לדף הנחיתה של המודעה הזו. בדוגמאות במדריך הזה מוסבר איך להגדיר את המיקום שבו דף הנחיתה ייפתח ואיך להאזין לאירועים שקשורים למשתמשים שמבקרים בדף הזה.

דרישות מוקדמות

אפליקציה ל-iOS עם הטמעה של IMA SDK.

הגדרת קליקים

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