В этом руководстве рассказывается, как настроить переход по клику в 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."); }