2016年11月26日土曜日

[Unity5.3] Unity Ads SDK 2.0の導入手順






Unity AdsはUnity向けの動画広告SDKです。
アプリ内の好きな場所・タイミングで動画広告を掲載して収入源にできます。
Unityにお金を払えば自分のアプリ広告をUnityAds経由で配信してもらうこともできます。
公式製なので非常に導入しやすいSDKで、課金や計測周りも安心して使えるのがいいですね。
というわけで今日はこのUnityAdsをアプリに組み込む手順を書いていきたいと思います。

UnityAds管理画面にログイン

まずはUnityアカウントを使用して、下記のUnityAdsの管理画面にログインしましょう。
https://unityads.unity3d.com/admin/#signup


「UDNログイン、または登録」を選択

プロジェクトの作成

ログインしたら、まずは「プロジェクト」を作ります。
プロジェクト=Unityのプロジェクト単位ではない点に注意。
ひとつのUnityAdsプロジェクトにつき、Android、iOSのアプリ内広告を併せて管理できます。






・既にプロジェクト作成済みの場合は、「既存のプロジェクトでUnity Adsを有効」を選択します。
・プラットフォームを選択してください。
COPPA遵守の明示にチェックを入れます。
・「続ける」をクリックします。

ゲームの登録

作成したプロジェクトを開き、ゲーム情報を登録します。
この時点でアプリをリリースしていない場合は未入力でも問題ありません。
(広告表示の動作確認までは可能。)



登録が完了すると次のようなダッシュボード画面が表示されます。
ここで日々のレポートグラフを確認する感じですね。


プロジェクト名のリンク部分をクリックすると、プラットフォーム別の設定画面に遷移します。この画面に表示されている「アプリID」は自動的に発行されたIDになります。
これをアプリ内でSDKを呼び出す際のパラメータとして使用します。

余談ですが必要なIDが一種類だけというのは素晴らしくシンプルな設計ですね〜
導入する側の実装コストが全然違いますからね。他社のSDKサービスだと何種類ものIDを管理させられたりするので、これは嬉しい限りでした。

Unityに「Unity Ads SDK」Pluginをインストール

管理画面側の作業は完了したので、いよいよUnityを起動してプロジェクトに組み込んでいきます。

まずはUnity Ads SDKをAssetStoreからインストールします。
https://www.assetstore.unity3d.com/jp/#!/content/21027


ちなみに中身はというと、Androidの場合はjarファイルがSDK本体で、それを呼び出すラッパー用のファイルがいくつか付属してます。iOS版の本体は.frameworkファイルですね。

インポートを実行



SDK呼び出しコードの実装

実装方法については、ぶっちゃけどこに仕掛けられるので、やり方はいろいろあるかと思いますが、今回は画面起動時にSDK起動をして何らかのボタンクリックで広告を表示するパターンで実装します。

まずは適当なスクリプトを作成し、宣言の追加をします。

using UnityEngine.Advertisements; // Using the Unity Ads namespace.


Start()内でSDKのInitialize()を呼び出します。第一引数に、さきほどの管理画面で表示されていた「アプリID」を渡します。
第二引数はテストモードで起動するかどうかのフラグです。trueの場合、テスト広告が配信され、falseの場合は運用広告が表示されます。

    IEnumerator Start ()
    {
        // ここから
        #if !UNITY_ADS
        if (Advertisement.isSupported) { 
        Advertisement.Initialize(
"1190905"  , false);
        }
        #endif

    
       while (!Advertisement.isInitialized || !Advertisement.IsReady()) {
            yield return new WaitForSeconds(0.5f);
        }
        // ここまで
    }

※Initializeが正常に完了してから出ないと広告表示はできない点に注意。

ボタンのOnClick()イベント内で表示命令を入れます。

    public void OnClick() {
        Advertisement.Show();
    }

広告の表示テスト

以上で準備が完了したので、さっそくテストしてみます。
表示命令を入れたボタンを押して、広告が表示されれば成功です。
シミュレーターでテストした場合、次のような画面が表示されます。


スムーズに行けば30分くらいで導入できるので、これだけ手軽に広告を入れられるのは素晴らしいですね。