Cocoapods経由でGoogleAds-IMA-iOS-SDK(3.3.1)を使用してXcode 8.0のビデオ広告を表示しています。これがadsLoaderを設定する方法です。注:私はenableDebugMode = true
を持っています。このadsLoaderはVKSharedAdManager.adsLoader
に保存されています。Google IMA SDK「IMAAdsLoader -requestAdsWithRequest:」は2回目には動作しません
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回以上試してみましたが、すべての動画でうまくいくという幸運な時があります。すべてのテストは、iOS 9.3.5のiPad miniデバイスで実行されます。私は何が間違っているのか分かりません。
ありがとうございました。 'IMAAdsLoader'オブジェクトは1つしか作成しません。 – Hlung