Я использую GoogleAds-IMA-iOS-SDK (3.3.1) через Cocoapods для показа видеорекламы, Xcode 8.0. Вот как я настроил adsLoader. Обратите внимание, у меня есть enableDebugMode = true
. Этот adsLoader хранится в VKSharedAdManager.adsLoader
для повторного использования.
IMASettings *settings = [[IMASettings alloc] init];
settings.ppid = @"IMA_PPID_0";
settings.enableDebugMode = true;
settings.language = kLanguageCodeEnglish;
self.adsLoader = [[IMAAdsLoader alloc] initWithSettings:settings];
Затем я делаю запрос с этим загрузчиком.
IMAAdDisplayContainer *displayContainer = [[IMAAdDisplayContainer alloc] initWithAdContainer:self.adRequest.adContainer companionSlots:nil];
self.request = [[IMAAdsRequest alloc] initWithAdTagUrl:adTagUrl adDisplayContainer:displayContainer contentPlayhead:VKSharedAdManager.contentPlayhead userContext:nil];
VKSharedAdManager.adsLoader.delegate = self;
DDLogVerbose(@"%@: requesting %@", self, adTagUrl);
[VKSharedAdManager.adsLoader requestAdsWithRequest:self.request];
Первые объявления работают нормально, IMAAdsLoaderDelegate
методы вызываются нормально. Журнал отладки загрузчика IMA выглядит следующим образом. (Есть еще, но это начало...)
2016-12-13 15:35:14.769 MyApp[5835:1419742] Core: (INFO) ima.loader.AdsLoaderWrapper: Requesting ads using new ads loader.
2016-12-13 15:35:14.963 MyApp[5835:1419742] Core: (INFO) ima.loader.AdsLoaderWrapper: requestAds, processing external request.
2016-12-13 15:35:14.964 MyApp[5835:1419742] Core: (INFO) ima.loader.SequentialAdsLoader: Enqueued new request.
2016-12-13 15:35:14.965 MyApp[5835:1419742] Core: (INFO) ima.loader.SequentialAdsLoader: Starting request from queue.
2016-12-13 15:35:15.257 MyApp[5835:1419742] Core: (INFO) ima.loader.AdSourceFetcher: Creating PlaylistSource.
2016-12-13 15:35:15.271 MyApp[5835:1419742] Core: (INFO) ima.loader.AdsLoaderWrapper: dispatchPlaylist_
...
...
Затем я закрываю это видео и воспроизводю другое видео. ПРОБЛЕМА: теперь журнал просто показывает это, и ничего не происходит.
2016-12-13 15:37:59.266 MyApp[5835:1419742] Core: (INFO) ima.loader.AdsLoaderWrapper: Requesting ads using new ads loader.
Затем для всех следующих видео после этого журнала нет вообще. Если я перезапущу приложение, произойдет то же самое. Работает только первая реклама. Я пробовал около 10+ раз, и есть один счастливый случай, когда это сработает для всех видео. Все тестирование проводится на устройстве iPad mini с iOS 9.3.5. Я не уверен, что случилось.