Version: 2017.3
Unity Ads
Unity Analytics

Unity エディターのインテグレーション

このページでは、Unity Ads を Unity エンジンに統合する以下の 2 つの方法を説明します。

  • Services Window インテグレーション
  • Asset Package インテグレーション

ビルドターゲットの設定

Build Settings ウィンドウ を使って、サポートされたプラットフォーム用にプロジェクトを設定します。

プラットフォームを iOS または Android に設定して Switch Platform をクリックします。

Build Settings ウィンドウ
Build Settings ウィンドウ

Ads を有効にする

この処理はインテグレーションに方法 (Services Window、または Asset Package) によって多少異なります。

Services Window を使う方法

Ads を使用可能にするには、プロジェクトに Unity Services を設定する必要があります。これには、OrganizationProject Name の設定が必要です。詳しくは Unity Services のためのプロジェクトの設定 を参照してください。

Unity Services を設定すると、 Unity Ads を使用できます。

  1. Unity エディターで Window > Services を選び Services ウィンドウを開きます。
  2. Services ウィンドウのメニューから Ads を選択します。
  3. Ads を使用するには、ボタンを右にスライドしてオンにします (以下の図を参照)。
  4. プロダクトが 13 才未満の子供を対象にしている場合は、チェックボックスにチェックを入れます。次に Continue をクリックします。
Unity エディターの Services ウィンドウ (左)、Services ウィンドウの Ads セクション (中央)、オンの状態のボタン (右)
Unity エディターの Services ウィンドウ (左)、Services ウィンドウの Ads セクション (中央)、オンの状態のボタン (右)

Asset Package を使う方法

Asset Package を使って Ads を統合する前に、以下の手順で Unity Ads Game ID を作成する必要があります。

Unity Ads Game ID の作成

  1. ウェブブラウザーで、Unity Developer Network UDN アカウントを使って UnityAds Dashboard を開きます。それから、Add new project を選択します。
    Add new project

  2. 該当するプラットフォームを選択します (iOS、Android、または両方)。
    プラットフォームを選択

  3. プラットフォーム特有の Game ID を取得し、後で使用するために、それを書き留めておきます。
    Game ID を取得

Ads を Asset Package に統合

  1. Unity Ads の名前空間 UnityEngine.Advertisements をスクリプトのヘッダーで宣言します ( UnityEngine.Advertisements を参照してください)。

       using UnityEngine.Advertisements;
  1. ゲームのランタイムライフサイクルの初期 (できれば起動時) に、先に書き留めて置いた Game ID 文字列 gameId を使って Unity Ads を初期化します。

       Advertisement.Initialize(string gameId)

広告の表示

Ads を使用可能にしたら、スクリプトでコードを実装して広告を表示します。

  1. Unity Ads の名前空間 UnityEngine.Advertisement をスクリプトのヘッダーで宣言します ( UnityEngine.Advertisements を参照してください)。

      using UnityEngine.Advertisements;

       ```

  1. Show() 関数を呼び出して広告を表示します。
   Advertisement.Show()

広告を見たプレイヤーに報酬を与える

広告を見たプレイヤーに報酬を与えると、プレイヤーのエンゲージメントが増え、収益の増加につながります。例えば、プレイヤーに与えるゲームの報酬として、ゲーム内で使用できる通貨、消費アイテム、寿命の延長、経験値の増加、などがあります。

ビデオ広告を終わりまで見たプレイヤーに報酬を与えるには、下の例の HandleShowResult コールバックを使用します。 プレイヤーが広告をスキップしなかったことをテストするために、必ず resultShowResult.Finished にするようにしてください。

  1. スクリプトで、コールバック関数を加えます。
  2. Show() を呼び出すときに、メソッドを渡します。
  3. ビデオを飛ばせないように "rewardedVideo" プレースメントを持つ Show() を呼び出します。

ノート: placements に関する詳細は Unity Ads ナレッジベース を参照してください。

void ShowRewardedVideo ()
{
    var options = new ShowOptions();
    options.resultCallback = HandleShowResult;

    Advertisement.Show("rewardedVideo", options);
}

void HandleShowResult (ShowResult result)
{
    if(result == ShowResult.Finished) {
        Debug.Log("Video completed - Offer a reward to the player");
        // ここで、プレイヤーに報酬を与えます

    }else if(result == ShowResult.Skipped) {
        Debug.LogWarning("Video was skipped - Do NOT reward the player");

    }else if(result == ShowResult.Failed) {
        Debug.LogError("Video failed to show");
    }
}

リワード広告ボタンのコード例

下のコードを使用して、リワード広告ボタンを作成します。広告ボタンは押されると、広告が表示可能である限りは広告を表示します。

  1. Game Object > UI > Button の順に選択して シーン にボタンを加えます。
  2. シーンに加えたボタンを選択し、インスペクター を使ってスクリプトを加えます (インスペクターで Add Component > New Script の順に選択)。
  3. スクリプトを開いて 下のコードを加えます。

    注意: Asset Package を使ったインテグレーションだけに特有の 2 個所のコード部分はコメントアウトしてあります。

        using UnityEngine;
             using UnityEngine.UI;
             using UnityEngine.Advertisements;

             //---------- ASSET PACKAGE INTEGRATION のみに必要です ----------//

             #if UNITY_IOS
             private string gameId = "1486551";
             #elif UNITY_ANDROID
             private string gameId = "1486550";
             #endif

             //-------------------------------------------------------------------//

                 ColorBlock newColorBlock = new ColorBlock();
                 public Color green = new Color(0.1F, 0.8F, 0.1F, 1.0F);

             [RequireComponent(typeof(Button))]
             public class UnityAdsButton : MonoBehaviour
             {
                 Button m_Button;

                 public string placementId = "rewardedVideo";

                 void Start ()
                 {
                     m_Button = GetComponent<Button>();
                     if (m_Button) m_Button.onClick.AddListener(ShowAd);

                     if (Advertisement.isSupported) {
                         Advertisement.Initialize (gameId, true);
                     }

                     //---------- ASSET PACKAGE INTEGRATION のみに必要です ----------//

                     if (Advertisement.isSupported) {
                         Advertisement.Initialize (gameId, true);
                     }

                     //-------------------------------------------------------------------//

                 }

                 void Update ()
                 {
                     if (m_Button) m_Button.interactable = Advertisement.IsReady(placementId);
                 }

                 void ShowAd ()
                 {
                     var options = new ShowOptions();
                     options.resultCallback = HandleShowResult;

                     Advertisement.Show(placementId, options);
                 }

                 void HandleShowResult (ShowResult result)
                 {
                     if(result == ShowResult.Finished) {
                         Debug.Log("Video completed - Offer a reward to the player");

                     }else if(result == ShowResult.Skipped) {
                         Debug.LogWarning("Video was skipped - Do NOT reward the player");

                     }else if(result == ShowResult.Failed) {
                         Debug.LogError("Video failed to show");
                     }
                 }
             }
        }

  1. 広告ボタンのインテグレーションのテストするには、Unity エディターで 再生 ボタンを押します。

詳しくは Unity Ads フォーラム を参照してください。


Ads Dashboard で設定を管理する

設定を使って、プロジェクトのプレースメントと他のゲーム特有の設定を変更できます (プレースメントに関する詳しい情報は Unity Ads ナレッジベース を参照)。

  1. ウェブブラウザーで、Unity Developer Network UDN アカウントを使って UnityAds Dashboard を開きます。それから、ゲームプロジェクトを選択します。

選択したプロジェクトをハイライトした Unity Ads Dashboard

  1. 適切なプラットフォーム (iOS または Android) を選択します。

選択したプラットフォームをハイライトした Unity Ads Dashboard

  1. プレースメントを選択します (Unity Ads ナレッジベース を参照)。

プレースメント情報を表示する Unity Ads Dashboard




Unity Ads
Unity Analytics