新卒のjotakaです。
スマホアプリに動画広告を出すためのSDKを導入してみたいと思います。 ここでのSDKはアプリへ簡単に機能追加するためのframeworkやlibraryと言う方がわかりやすいかもしれません。
アプリ開発者が動画広告用のSDKを使用するメリットとして、例えば動画広告の仕様であるVASTのことを詳しく知らなくとも、動画広告を掲載するアプリを開発できることなどがあげられます。
今回使用したSDKはGoogleのIMA (Interactive Media Ads) SDKです。 Google IMA SDKはアドサーバへ動画広告のリクエストおよびレスポンスの処理、広告再生のサポート、トラッキング処理等を可能にしてくれます。
松崎君がAndroid版をテストしているので、自分はiOS SDKのテストをしてみました。
Get Startedを参考に進めていきます。 このチュートリアルではサンプル動画プレーヤーアプリに対し、IMA SDKを導入し、プリロール動画広告を再生する。ということをしています。
そもそも私はXcodeやSwiftはもちろん、ソフトウェア開発も未経験なので、同様の方を想定し、手順を追って説明していきます。
事前準備
IMA iOS SDKをアプリに組み込むにあたって次のものを準備しました。
- Xcode 6 バージョン6.3.2がインストールされていました。
- CocoaPods CocoaPodsはXcodeプロジェクトのライブラリ依存関係を管理するツールです。 CocoaPods公式ページに従って準備しました。
[shell] $ sudo gem install cocoapods $ pod setup [/shell]
- サンプル動画プレーヤーアプリ 今回はSwiftを使用するので、でSample Player / Swiftをダウンロードします。 Google Ads IMA SDK iOS Samples v3.1
SDKをXcode projectに追加する
SampleVideoPlayer.xcodeprojを含むディレクトリでpodsディレクトリを作成します。
[shell]$ pod init[/shell]
podsディレクトリ内のPodfileが
[text]target 'SampleVideoPlayer' do end[/text]
となっているので、次のように書き換えて保存します。
[text]target 'SampleVideoPlayer' do source 'https://github.com/CocoaPods/Specs.git' platform :ios, '8.0' pod 'GoogleAds-IMA-iOS-SDK', '~> 3.0.beta.14' end[/text]
プロジェクトにインストールします。
[shell]$ pod install[/shell]
これでPodsディレクトリの中にGoogleAds-IMA-iOS-SDKディレクトリができていました。 .xcworkspaceファイルをXcodeで開くと、SampleVideoPlayerとPods、2つのプロジェクトができています。
ViewController.swiftを書き換える
IMA SDKをインポートするために、XcodeのSampleVideoPlayer内にあるViewController.swiftを、Full sourceのコードに書き換えて上書き保存します。 https://developers.google.com/interactive-media-ads/docs/sdks/ios/quickstart?hl=ja#source
追加・書き換え内容の詳細はリンク先のガイド内でステップを踏んで説明されています。 流れとしては次のようになっていました。
- IMA SDK frameworkの追加
アプリ側でimport frameworkを記述し、frameworkが使用できるようにします。
- Content Playhead Trackerの定義
適切なタイミングで広告を流したりトラッキング情報をアドサーバに送るには、動画プレーヤーの再生状態を知る必要があります。 例えばpost-roll広告を出すためには、視聴完了をSDKに通知する必要があります。 そのためにContentPlayheadというクラスを使用しています。
- 広告リクエスト
アドサーバURLを記述し、リクエストメソッドを実行します。この時点では広告の再生は行われません。VAST形式で返ってくるレスポンスを処理して、広告情報を保持するのが主な実行内容だと考えられます。
- Ads Managerの作成
広告リクエストに成功したら、広告再生・表示の管理を行うIMAAdsManagerのインスタンスを作成します。
- 広告の表示
任意のイベントタイミングで広告を再生開始します。また広告再生中は動画本編を停止しなければなりませんし、逆に広告が終わったら本編が再生再開されなければなりません。こうした指示もここで書いていきます。
iOSシミュレータでテストする
ここまでのSDK追加実装が完了ところで、XcodeのiOSシミュレータを実行し、SampleVideoPlayerアプリを開いてみましょう。 再生ボタンを押すとプリロール動画広告が始まります。スキップ可能になるまでの5秒カウントダウンが表示されました。5秒経つと「Skip Ad」に変化します。
IMA SDKの追加によって、アプリの動画プレーヤーに動画広告を出すことができました。 少しだけXcodeとSwiftのことが分かった気がしました。