Vungle (SDK v. 5.1 以上) スタート ガイド - Unity

コンテンツ

始める前に

  • iOS 向け Vungle Unity プラグインは以下の環境をサポートしています。
    • iOS 7
    • Unity 4 および Unity 5.4.1 以上
  • Android 向け Vungle Unity プラグイン:
    • Java 1.7 for Android が必要
    • Unity 4 と Unity 5 の両方をサポート
  • Windows 向け Vungle Unity プラグイン:
    • Windows (Universal 8.1 または Phone 8.1) は、Unity 4 および Unity 5.3.2 以降をサポートしています
    • Windows 10 UWP は Unity 5.2 以降をサポートしています
    • 本記事を読み進める前に、まずは「Unity Plugin のための Vungle Windows SDK v.2.0+ の準備」の手順に従ってください。その後ここで残りの手順を完了してください。
  • サンプル アプリをダウンロードしてください。https://github.com/Vungle/Unity-Plugin/tree/sdk5

手順 1. Vungle Unity プラグインで Unity プロジェクトを設定する

Vungle Unity プラグインを Unity プロジェクトに追加する

Unity でプロジェクトを開いて、ダウンロードした VunglePlugin.unitypackage ファイルをダブルクリックして Vungle Unity プラグインをアプリケーションに追加します。[Import Unity Package] ウィンドウが開いたら、インポートする前に [All] をクリックしてすべての項目を選択します。

ビルド設定で正しいプラットフォームをターゲットにする

次の手順でコンパイル エラーが起こらないようにするため、プロジェクトの [Build Settings] (cmd + Shift + B) でターゲットが iOS または Android いずれかのプラットフォームになっていることを確認します。

手順 2: コードを追加する

このウォークスルーでは、メインの Game Object に添付されたスクリプトで Vungle 関連の全てのコードを初期化します。Vungle Unity プラグインは、任意の適切なスクリプトから呼び出すことができます。

SDK を初期化する

注意: デフォルトの広告配置はアプリケーションごとに自動的に作成されます。広告配置機能を利用するかどうかにかかわらず、広告配置の参照 ID をこの初期化手順で指定する必要があります。複数の広告配置を作成する場合は、すべての参照 ID を指定してください。

自動キャッシュされる広告配置用に広告をキャッシュするための十分な時間が SDK に与えられるよう、アプリケーションが起動したらすぐに SDK を初期化してください。SDK を初期化するには、以下が必要となります。

  • サポートする必要のあるすべてのアプリケーション ID (プラットフォームを問わない)
  • プラットフォームを問わず、アプリケーションで使用するすべての広告配置参照 ID (アクティブと非アクティブの両方)

これらの ID は Vungle ダッシュボードから取得できます (「広告配置の設定とレポート作成」を参照してください)。

サンプル コード:

public class VungleScript : MonoBehaviour {
    string appID = "";
string iosAppID = "ios_app_id";
string androidAppID = "android_app_id";
string windowsAppID = "windows_app_id"; #if UNITY_IPHONE appID = iosAppID; Dictionary<string, bool> placements = new Dictionary<string, bool> { { "ios_placement_id_1", false }, { "ios_placement_id_2", false }, { "ios_placement_id_3", false } }; #elif UNITY_ANDROID appID = androidAppID; Dictionary<string, bool> placements = new Dictionary<string, bool> { { "android_placement_id_1", false }, { "android_placement_id_2", false }, { "android_placement_id_3", false } }; #elif UNITY_WSA_10_0 || UNITY_WINRT_8_1 || UNITY_METRO appID = windowsAppID; Dictionary<string, bool> placements = new Dictionary<string, bool> { { "windows_placement_id_1", false }, { "windows_placement_id_2", false }, { "windows_placement_id_3", false } }; #endif string[] array = new string[placements.Keys.Count]; placements.Keys.CopyTo(array, 0); Vungle.init(appID, array);
}

SDK が正常に初期化されると、次のイベントが呼び出されます。

public static event Action onInitializeEvent;

この記事の「イベント処理」セクションを参照してください。

Vungle SDK が初期化されると、Vungle ダッシュボードで [Auto Cached]​ として選択した広告配置用の広告が自動的にリクエストされます。閲覧回数の最も多い広告配置を自動キャッシュの対象として選択することをお勧めします。

広告が正常にキャッシュされると、[Auto Cached]​ で選択した広告配置と一致する広告配置参照 ID で adPlayableEvent イベントが呼び出されます (この記事の「広告が配置可能かどうかを確認する」セクションを参照してください)。

広告配置用の広告を読み込む

自動キャッシュ形式以外の広告配置の場合は、loadAd メソッドを呼び出して広告を読み込みます。

public static void loadAd(string placementID)

正しいプラットフォームにリンクされた placementID を使用していることを確認してください。

サンプル コード:

string placementID;
#if UNITY_IPHONE
  placementID = "ios_placement_id";
#elif UNITY_ANDROID
  placementID = "android_placement_id";
#elif UNITY_WSA_10_0 || UNITY_WINRT_8_1 || UNITY_METRO
  placementID = "windows_placement_id";
#endif
  Vungle.loadAd(placementID);

広告が配置可能かどうかを確認する

広告配置用の広告のキャッシュが完了すると、次のイベントが呼び出されます。

public static event Action<string, bool> adPlayableEvent;

サンプル コード:

Vungle.adPlayableEvent += (placementID, adPlayable) => {
  if(placementID == ) {
    layButtonPlacement1.enabled = adPlayable;
  }
};

注意:​ 自動キャッシュ​形式の広告配置の場合は、広告が使用可能になったときにだけ、このイベントが呼び出されます。SDK は、自動キャッシュ形式の広告配置用に広告をリクエストし続けます。それ以外のすべての広告配置では、読み込みが失敗した場合にこのイベントが呼び出されます (この場合、adPlayable は「NO」を返します)。

広告が配置可能かどうかは、次のメソッドを使用して確認することもできます。

public static bool isAdvertAvailable(string placementID);

広告を再生する

広告の配置準備ができたら、次のメソッドを使用して、その広告を再生できます。

public static void playAd(string placementID);

サンプル コード:

Vungle.playAd ();

イベント処理

イベント ハンドラーは、広告の提示に関連する 5 つすべての Vungle SDK イベントについて設定できます。

  • SDK が動画広告の再生を開始すると、次のイベントが発生します。このメソッドは、ゲームのプレイ、音響効果、アニメーションなどを一時停止する場所として適しています。
    public static event Action onAdStartedEvent;
  • SDK が広告を閉じると、次のイベントが発生します。このメソッドは、ユーザーに報酬を与え、ゲームのプレイ、音響効果、アニメーションなどを再開する場所として適しています。
    public static event Action<string, AdFinishedEventArgs> onAdFinishedEvent;

    AdFinishedEventArgs クラスは、広告の再生結果を確認するために使用できる以下のプロパティで構成されています。
    public class AdFinishedEventArgs : EventArgs
    {
      //ユーザーがダウンロード ボタンをクリックしたかどうかをブール値で表します。
        public bool WasCallToActionClicked{ get; set;}
    
      //動画の閲覧が完了したとみなすことができるかどうかをブール値で表します。
        public bool IsCompletedView{ get; set;}
    
    
    }
  • 次のイベントは、広告の使用可能ステータスが SDK によって変更されたときに発生します。isAdPlayable は、特定の placementID の新しい再生可能状態を示すブール値です。
    public static event Action<string, bool> adPlayableEvent;
    詳細については、この記事の「広告が配置可能かどうかを確認する」セクションを参照してください。

  • SDK が正常に初期化されると、次のイベントが発生します。
    public static event Action onInitializeEvent;
  • SDK がログを出力すると、次のイベントが発生します。
    public static event Action onLogEvent;

サンプル コード:

void initializeEventHandlers() {

        Vungle.onAdStartedEvent += (placementID) => {
            DebugLog ("Ad " + placementID + " is starting!Pause your game  animation or sound here.");
        };

        Vungle.onAdFinishedEvent += (placementID, args) => {
            DebugLog ("Ad finished - placementID " + placementID + ", was call to action clicked:" + args.WasCallToActionClicked +  ", is completed view:"
                      + args.IsCompletedView);
        };

        Vungle.adPlayableEvent += (placementID, adPlayable) => {
            DebugLog ("Ad's playable state has been changed! placementID " + placementID + ".Now: " + adPlayable);
        };

        Vungle.onLogEvent += (log) => {
            DebugLog ("Log: " + log);
        };

        Vungle.onInitializeEvent += () => {
            adInited = true;
            DebugLog ("SDK initialized");
        };
    }

OnPause 機能と OnResume 機能

onPause および onResume 機能のコードを追加することで、アプリがバックグラウンドに移動したときに一時停止した広告の再生を再開できます。

void OnApplicationPause(bool pauseStatus) {
	if (pauseStatus) {
		Vungle.onPause();
	}
	else {
		Vungle.onResume();
	}
}

カスタマイズ オプション

playAd メソッドにオプション ディクショナリーを渡して再生体験をカスタマイズすることもできます。

public static void playAd(Dictionary<string,object> options, string placementID);

オプション ディクショナリーには以下のキーを含めることができます。

キー

説明

orientation

広告の向きを設定します。

  • iOS の場合は、VungleAdOrientation を使用します。
    public enum VungleAdOrientation
    {
        Portrait = 1,
        LandscapeLeft = 2,
        LandscapeRight = 3,
        PortraitUpsideDown = 4,
        Landscape = 5,
        All = 6,
        AllButUpsideDown = 7
    }
  • Android の場合は、matchVideo を true に設定し、autoRotate を false に設定します。

userTag

S2S 呼び出しでユーザーを識別するために渡されるユーザー キー (ある場合)。

alertTitle

ユーザーが途中でインセンティブ広告を閉じたときに表示される警告ダイアログのタイトルとして使用される文字列。

alertText

ユーザーが途中でインセンティブ広告を閉じたときに表示される警告ダイアログの本文として使用される文字列。

closeText

ユーザーが途中でインセンティブ広告を閉じたときに表示される警告ダイアログの閉じるボタンのテキスト。

continueText

ユーザーが途中でインセンティブ広告を閉じたときに表示される警告ダイアログの閉じるボタンのテキスト。

immersive

Android でイマーシブ モードを有効にします。

 

他にご質問がございましたら、リクエストを送信してください

コメント