5-4. Vungle
■ 導入手順
① サンプル内のディレクトリproj.ios_mac/ios/adfurikun/Vungle_x.x.x をXcodeにドラッグ&ドロップします。
「Add to targets」で対象のプロジェクトを選択してFinishを押下します。
② Build Phases > Link Binary With Libraries を展開して+ボタンを押下します。
③ 以下のframework を追加します。
AdSupport / AudioToolBox / AVFoundation / CFNetwork / CoreGraphics / CoreMedia / Foundation / libz / libsqlite3 / MediaPlayer / QuartzCore / StoreKit / SystemConfiguration / UIKit / WebKit
※赤文字はOptionalを選択
※他のSDKにて導入済のframeworkは省略して下さい。
④ 下記ヘッダをimportして下さい。
動画リワード広告
ディレクトリproj.ios_mac/ios/adfurikun内の
ADFMovieRewardCocosAdapter.mの先頭に以下を追加します。
■アドフリくん動画リワード (Vungle)のインポート
#import "MovieReward6006.h"
動画インタースティシャル広告
ディレクトリproj.ios_mac/ios/adfurikun内の
ADFMovieInterstitialCocosAdapter.mの先頭に以下を追加します。
■アドフリくん動画インタースティシャル (Vungle)のインポート
#import "MovieInterstitial6006.h"
動画ネイティブFLEX広告
ディレクトリproj.ios_mac/ios/adfurikun内の
ADFMovieNativeAdFlexCocosAdapter.mの先頭に以下を追加します。
■アドフリくん動画ネイティブFLEX(Vungle)のインポート
#import "MovieNativeAdFlex6006.h"
⑤ ARC環境でない場合、下記のように設定してください。
動画リワード広告
Build Phases > Compile Sourcesを展開して、
MovieReward6006.m のCompiler Flagsに「-fobjc-arc」を追加して下さい。
動画インタースティシャル広告
Build Phases > Compile Sourcesを展開して、
MovieInterstitial6006.m のCompiler Flagsに「-fobjc-arc」を追加して下さい。
動画ネイティブFLEX広告
Build Phases > Compile Sourcesを展開して、
MovieNativeAdFlex6006.m のCompiler Flagsに「-fobjc-arc」を追加して下さい。
■ SDK公式ドキュメント
SDKの仕様の詳細に関しては、下記をご確認下さい。
https://bd.vungle.com/sdk
■ Xcode7・iOS9について
iOS9 SDK (Xcode 7) についてのVungleの対応方法は、以下の公式ページをご確認ください。(ATS 無効化など)
https://support.vungle.com/hc/ja/articles/204430550-Vungle-スタート-ガイド-iOS-SDK#ATS
■ 再生完了後、アプリをインストールしようとしても出来ないケース
Vungleではストアの表示を SKStoreProductViewControllerを使用しています。
こちらはAppStore向けの署名を含んだバイナリでないとビュー内でのダウンロードに失敗する仕組みになっています。
http://stackoverflow.com/questions/13004357/app-cant-be-installed-with-skstoreproductviewcontroller
■ Cocos2d-x 3.16.0 を使用する場合
Cocos2d-x 3.16.0 を使用してVunglueを再生すると「CDAudioManager」内のエラーによりクラッシュする現象を確認しております。
http://discuss.cocos2d-x.org/t/crash-with-cdaudiomanager-handleinterruption-unrecognized/41049/2
上記エラーに対応するため、「CDAudioManager.m」を下記のように修正する必要があります。
Cocos2d-x 3.16.0 未満のバージョンでは、修正する必要はございません。
「cocos2d/cocos/audio/ios/CDAudioManager.m」
修正前
- (id) init: (tAudioManagerMode) mode {
if ((self = [super init])) {
[[NSNotificationCenter defaultCenter] addObserver: self
selector: NSSelectorFromString(@"handleInterruption")
name: AVAudioSessionInterruptionNotification
object: [AVAudioSession sharedInstance]];
//その他のコード
}
}
修正後
- (id) init: (tAudioManagerMode) mode {
if ((self = [super init])) {
[[NSNotificationCenter defaultCenter] addObserver: self
selector: @selector(handleInterruption:)
name: AVAudioSessionInterruptionNotification
object: [AVAudioSession sharedInstance]];
//その他のコード
}
}
※修正しないで使用した場合は、動画再生時にクラッシュしますのでご注意ください。