Vungle SDK v. 6 スタート ガイド - Unity

目次

 

はじめに

  • iOS 向け Vungle Unity プラグインは以下の環境をサポートしています。
    • iOS 8
    • Unity 4 および Unity 5.4.1 以降
    • Vungle SDK を使用するには、WebKit.framework フレームワークをプロジェクトにリンクする必要があります。iOS 7 用の開発を行う場合は、このフレームワークを「Optional」に設定します。そのためには、Project Navigator でプロジェクトをクリックし、[General][Linked Frameworks and Libraries] に移動して [WebKit.framework] を選択し、[Status] を「Optional」に設定します。

  • Android 向け Vungle Unity プラグイン:
    • Java 1.7 for Android が必要になります
    • Unity 4 と Unity 5.3.2 以降の両方がサポートされます

  • Windows 向け Vungle Unity プラグイン:
    • Windows (Universal 8.1 または Phone 8.1) は、Unity 4 および Unity 5.3.2 以降をサポートしています
    • Windows 10 UWP は Unity 5.3.2 以降をサポートしています
    • これ以降の手順に進む前に、「Unity Plugin 用に Vungle Windows SDK v.2.0 以降を準備する」に記載されている手順を実行してください。その後、これ以降の手順に進んでください。

  • サンプル アプリケーションを https://github.com/Vungle/Unity-Plugin/tree/sdk6 からダウンロードしてください。

 

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

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

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

 

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

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

Amazon Appstore

Vungle Android SDK では、Amazon OS 5.4 以降がサポートされます。Amazon Appstore で追加の設定を行って、Android APK を Amazon Appstore に送信することができます。Unity の詳細については、https://docs.unity3d.com/Manual/UnityIAPAmazonConfiguration.html を参照してください。

Google Play Services

プロジェクトに Google Play Services を追加すると、さらにカスタマイズされた広告体験を Vungle からエンド ユーザーに提供できるようになります。ただし、必須ではありません。バージョン 11.0.1 以降の使用を推奨します。

Google Play Services をプロジェクトに追加する際に、開発ポータル (http://developer.android.com/google/play-services/setup.html#Setup) で Google のセットアップ ガイドを参照することをお勧めします。アプリケーションで、最新バージョンの Google Play Services がインストールされていることを確認してください。Vungle SDK は、必要に応じて、Google Play Services の位置情報 API と広告 API を使用します。

  • android.gms:play-services-location:11.0.1
  • android.gms:play-services-ads:11.0.1
  • play-services 7.8.0 以下の場合: サポート ライブラリを維持する
  • play-services 8.4.0 以上の場合: サポート ライブラリは不要

Google Play Services (バージョン 7.8.0、8.4.0、9.8.0、10.2.4、11.0.1.) を使用したコンパイルをサポートする、スタンドアロン SDK のコンパイルに成功しています。

Google Play Services を追加した後、次の権限を AndroidManifest.xml に追加します。Vungle はこの情報を使用して、最適な広告エクスペリエンスを各ユーザーに提供します。

  • <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
  • <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

 

ハードウェア アクセラレーションを追加する (Android の場合のみ)

対象となる API のレベルが 14 以上に設定されている場合、ハードウェア アクセラレーション オプションがデフォルトで有効になります。Dynamic Template 広告とネイティブ Flex 広告を正しく表示するには、このオプションを有効にする必要があります。以下のように、プロジェクト内でこのオプションが「true」に設定されていることを確認してください。

サンプル コード:

<application android:hardwareAccelerated="true" ...>

 

手順 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 == "ios_placement_id") { playButtonPlacement1.enabled = adPlayable; } };

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

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

public static bool isAdvertAvailable(string placementID);

広告を再生する

重要: 上で説明した adPlayableEvent 関数から true が返されるまで、広告を再生しないでください。adPlayableEvent 関数から true が返される前に広告を再生しようとすると、広告を読み込む際のユーザー エクスペリエンスが影響を受けます。Android にデプロイする場合は、isAdvertAvailable() から返された値を使用して、広告が使用可能な状態になっているかどうかを確認してください (使用可能な広告がない場合、false から false が返されることはありません)。

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

public static void playAd(string placementID);

サンプル コード:

Vungle.playAd (placementID);

 

イベント処理

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

  • SDK によって広告の再生が開始されると、以下のイベントが起動します。ゲームのプレイ、音響効果、アニメーションなどを一時停止する場合は、このイベントを使用すると便利です。
    public static event Action onAdStartedEvent;
  • SDK によって広告が終了すると、以下のイベントが起動します。ユーザーに報酬を与える場合や、ゲームのプレイ、音響効果、アニメーションなどを再開する場合は、このイベントを使用すると便利です。
    public static event Action<string, AdFinishedEventArgs> onAdFinishedEvent;

    AdFinishedEventArgs クラスは、以下のプロパティから構成されています。これらのプロパティにより、広告の再生結果を確認することができます。
    public class AdFinishedEventArgs : EventArgs { //Represents a BOOL whether or not the user clicked the download button. public bool WasCallToActionClicked{ get; set;} //Represents a bool whether or not the video can be considered a completed view. public bool IsCompletedView{ get; set;} }
  • SDK によって広告の可用性ステータスが変更されると、以下のイベントが起動します。ブール値の isAdPlayable は、placementID で指定された ID を持つ広告が再生可能かどうかを示します。
    public static event Action<string, bool> adPlayableEvent;
    詳しくは、この記事の「広告が配置可能かどうかを確認する」セクションを確認してください。

  • SDK が正常に初期化されると、以下のイベントが起動します。
    public static event Action onInitializeEvent;

サンプル コード:

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.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);

注意: 報酬対象の広告は、インセンティブ広告として参照されることがあります。どちらの場合も、同等な広告のことを示しています。SDK のコードと Reporting API では、「インセンティブ」を使用します。

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

キー

説明

orientation

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

  • iOS の場合は、以下のように VungleAdOrientation を使用します。
    public enum VungleAdOrientation { Portrait = 1, LandscapeLeft = 2, LandscapeRight = 3, PortraitUpsideDown = 4, Landscape = 5, All = 6, AllButUpsideDown = 7 }
  • Android の場合は、matchVideotrue に設定し、autoRotatefalse に設定します。

userTag

S2S 呼び出しが存在する場合に、S2S 呼び出しでユーザーを識別するために渡されるユーザー キーの文字列

alertTitle

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

alertText

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

closeText

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

continueText

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

immersive

イマーシブ モードを設定するためのブール値。ナビゲーション バーとステータス バーが強制的に非表示になります (Android の場合のみ)。

flexCloseSec

Flex View 広告を自動的に終了するまでの秒数を指定するための整数。この設定が機能するのは、iOS の Flex View 広告だけです。

 

EU 一般データ保護規則 (GDPR) に準拠するための推奨事項

5 月 25 日より、欧州連合で一般データ保護規則 (GDPR) が施行されました。開発者は、以下に示すいずれかの方法で GDPR に準拠する必要があります。

  • 方法 1 (推奨): パブリッシャーが、ユーザー レベルで GDPR 同意プロセスを管理し、ユーザーによる選択内容を Vungle に伝える。これを行うには、開発者が独自のメカニズムを使用してユーザーから同意を取得し、Vungle API を使用して、ユーザーの同意状況の更新や照会を実行します。詳しくは、「GDPR に準拠するための推奨手順」を参照してください。

  • 方法 2: 広告を表示するための要件の処理を Vungle に委任する。この方法の場合、欧州のユーザーに広告を表示する前に、同意ダイアログが表示されます。それ以降は、ユーザーが広告の表示に同意したか拒否したかがシステムに記憶されることになります。

API を使用して GDPR に準拠するための手順

上記の「方法 1 (推奨)」で説明したように、Vungle API を使用してユーザーの同意状況の更新や照会を実行するには、以下に示す 2 つの関数で Vungle.Consent 列挙子を使用して、同意状況の現在の値を設定します。

// The Consent enum is used to represent the user's current GDPR opt-in status public enum Consent { Undefined = 0, Accepted = 1, Denied = 2 } // Sets the user's consent status void updateConsentStatus(Vungle.Consent consent); // Gets the user's consent status Vungle.Consent getConsentStatus(); 

 

Flex View 広告

iOS の場合

プログラム経由で Flex View 広告を終了するには、closeAd 関数を使用します。

Vungle.closeAd(placementID);

Android の場合、この関数は機能しません。

Android の場合

Android 用 Unity 上の Flex View 広告は、iOS 用 Unity やネイティブ Android の場合と同じようには機能しません。Unity によるアクティビティ処理の制限により、Flex View 広告の表示中は、基本的なゲームを操作できなくなります。Flex View 広告でアクティビティが発生すると、ベースとなるアクティビティが中断されます。Flex View 広告が表示されている状態でアプリケーションから離れ、別の日にそのアプリケーションに戻ると、Flex View 広告は表示されたままになりますが、バックグラウンドで実行されていたゲームは黒で表示されます。Flex View を終了するまでベース アクティビティが中断されたままになるため、こうした状態が発生します。

上記の理由により、Android 用 Unity で Flex View 広告を使用するのは避けてください。

Windows の場合

Windows では、Flex View 広告はサポートされていません。

 

Flex Feed 広告

Unity プラグインを使用して Vungle を統合した場合、Flex Feed 広告はサポートされません。

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

コメント