В этом руководстве объясняется, как реализовать больший контроль над кликами в реализации IMA SDK. «Проход по клику» — это процесс, когда пользователь нажимает на объявление и попадает на целевую страницу этого объявления. В примерах в этом руководстве показано, как настроить, где открывается эта целевая страница, и как прослушивать события, связанные с посещением этой страницы пользователями.
Предварительные условия
Приложение iOS с реализованным IMA SDK.
Настройка кликабельности
Изменение открывателя ссылки
IMA SDK предлагает два варианта открытия целевых страниц рекламы — через браузер в приложении или через Safari. По умолчанию 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."); }