Vungle (SDK v.1.0 ~ v.4.1) スタート ガイド - Adobe Air

このガイドでは、Vungle Adobe Air Plugin を基本的なサンプル アプリケーションに統合する方法について説明します。ここに掲載されているソース コードは、GitHub の公開リポジトリから入手できます。

コンテンツ

始める前に
1. 拡張ライブラリを含める
2. アプリケーション記述子を更新する
3. Vungle API を統合する
トラブルシューティングと FAQ

始める前に

  • Vungle 拡張には Adobe AIR SDK 4.0 以上が必要です。Flash Builder または Flash Professional での AIR SDK のアップデート手順については、本ガイドの巻末にある「AIR SDK のアップデート方法」を参照してください。

  • Android でご利用の場合、Vungle AIR 拡張では、JDK 6 または JDK 7 (お使いの Flash のバージョンによって異なります) が開発システムにインストールされていることが必要となります。アプリケーションを実行するには、Android 3.0 (Honeycomb - API バージョン 11) 以降が必要です。

  • ActionScript 3 のクラス関連ドキュメンテーションをご覧いただけます。

  • サンプル アプリケーション クラス用の example/VungleExample.as を確認してください (Flash Professional をお使いで、ドキュメント クラスの使用方法がよくわからない場合は、本ガイドの巻末にある「Flash CS6 での VungleExample ドキュメント クラスの使用方法」を参照してください)。

1.拡張ライブラリを含める

まず、モバイル プロジェクト用の新しい AIR を作成し、ネイティブ拡張を追加します。

Android をターゲットにしている場合は、Google Play Services ライブラリのプロジェクトへの追加も必要となる可能性があります。このライブラリを既に含んでいる他の拡張の場合、ライブラリの追加は必要となりません。拡張を追加するには、以下の手順を繰り返します。ただし、com.vungle.extensions.Vungle.ane の代わりに com.vungle.extensions.android.GooglePlayServices.ane を使用してください。

Flash Professional CS6 以上の場合:

  1. 新しい AIR for Android または AIR for iOS プロジェクトを作成します。
  2. [File] > [Publish Settings...] を選択します。
  3. [ActionScript Settings] の [Script] の横にあるレンチ アイコンを選択します。
  4. [Library Path] タブで、[Browse for Native Extension (ANE) File] をクリックして com.vungle.extensions.Vungle.ane ファイルを選択します。[OK] をクリックします。
  5. [Player Settings] の [Target] の横にあるレンチ アイコンを選択します。
  6. Android をターゲットにしている場合: [Permissions] タブで、[INTERNET]、[WRITE_EXTERNAL_STORAGE]、[ACCESS_NETWORK_STATE] を有効にします。
  7. [Manually manage permissions and manifest additions for this app] オプションを選択して、[OK] をクリックします。

Flash Builder 4.6 以上の場合:

  1. [Project Properties] で、[Actionscript Build Path] の [Native Extensions] を選択します。 
  2. [Add ANE...] を選択して、com.vungle.extensions.Vungle.ane ファイルを指定します。
  3. [Actionscript Build Packaging] > [Google Android] を選択します。
  4. [Native Extensions] タブで、拡張の横にある [Package] オプションを選択します。
  5. iOS をターゲットにしている場合は、手順 3 と手順 4 を [Apple iOS] ターゲットに対して繰り返します。

2.アプリケーション記述子を更新する

Vungle を動作させるには、アプリケーション用のアプリケーション XML ファイルに変更を加える必要があります。IDE によって作成された XML ファイルに以下の変更を加えて修正します (Flash Professional を使用している場合は、前出の「ライブラリを含める」の「Flash Professional CS6 以上の場合」の手順に従っていることを確認してください。そうでない場合、加えた変更が Flash によって取り消されることがあります)。

  1. アプリケーション記述子ファイルで AIR SDK を 4.0 以降に設定します。
    <application xmlns="http://ns.adobe.com/air/application/4.0">
  2. 拡張へのリンクを記述子に含めます。
    <extensions>
    <extensionID>com.vungle.extensions.Vungle</extensionID>
    </extensions>
  3. Android をターゲットにしている場合は、Google Play Services 拡張を含める必要が生じる可能性があります。拡張 ID もここで追加してください。
    <extensions>
    <extensionID>com.vungle.extensions.Vungle</extensionID>
    <extensionID>com.vungle.extensions.android.GooglePlayServices</extensionID>
    </extensions>

Android をターゲットにした AIR アプリケーションの場合

Android をターゲットにしている場合は、android XML 要素の Android Manifest Additions を次のように更新します。

  • INTERNETWRITE_EXTERNAL_STORAGEACCESS_NETWORK_STATE の各パーミッションを含めます。
  • VideoFullScreenAdActivity および the MraidFullScreenAdActivity アクティビティの定義を追加します。
  • google-play-services バージョン メタデータ タグを追加します。
<android> 
<manifestAdditions><![CDATA[
<manifest android:installLocation="auto">

 <uses-permission android:name="android.permission.INTERNET"/>
 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

 <application>
   <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version"/>

   <activity android:name="com.vungle.publisher.VideoFullScreenAdActivity"
     android:configChanges="keyboardHidden|orientation|screenSize"
     android:theme="@android:style/Theme.NoTitleBar.Fullscreen"/>
   <activity android:name="com.vungle.publisher.MraidFullScreenAdActivity"
     android:configChanges="keyboardHidden|orientation|screenSize"
     android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"/>
 </application>
</manifest>
]]></manifestAdditions>
</android>

iOS をターゲットにした AIR アプリケーションの場合

iOS をターゲットにしている場合は、Adobe AIR 21+ を使用した構築時に以下の行をアプリケーション記述子 XML に追加して、App Transport Security (ATS) を無効にすることをお勧めします。

<iPhone>
    <InfoAdditions>
        <![CDATA[
            <key>NSAppTransportSecurity</key>
            <dict>
                <key>NSAllowsArbitraryLoads</key>
                <true />
            </dict>
        ]]>
    </InfoAdditions>
</iPhone>

App Transport Security の詳細については、「iOS 9 のためにアプリケーションを準備する」を参照してください。

3.Vungle API を統合する

Vungle API は、わずか数行の ActionScript でアプリケーションに追加できます。

Vungle 拡張を初期化する

アプリケーションを起動するときに API を初期化します。

  • ActionScript を使用している場合は、ドキュメント クラスのコントラクターでこれを行います。
  • Flex を使用している場合は、メイン クラスの initialize() イベントでこれを呼び出します。
  • Flash でタイムライン コードを使用している場合は、フレーム 1 でこれを行います。
  1. API クラスをインポートします。
    import com.vungle.extensions.*;
    import com.vungle.extensions.events.*;
  2. Vungle.create() を呼び出し、Vungle ダッシュボードからのアプリケーション ID を含んでいる配列を渡すことによって、API を初期化します。同じプロジェクトで iOS と Android の両方をターゲットにしている場合は、この配列に両方の ID を含めます (最初に iOS ID、2 番目に Android ID)。

    作成プロセスでは Vungle によってエラーがスローされることがあるため (たとえば、デスクトップで実行する場合は拡張によってエラーがスローされます)、Vungle.create() の呼び出しは try/catch でラップする必要があります。
    try
    {
     // アプリケーション ID で初期化します
     Vungle.create(["your_vungle_id"]);

     // -または- マルチプラットフォーム アプリケーションの場合は、iOS と Android の両方の ID を含めて初期化します
     // Vungle.create(["your_ios_vungle_id","your_android_vungle_id"]);
    } catch (error:Error) {
     // 拡張を作成できませんでした。iOS/Android 以外のプラットフォームで実行していますか?
    }

インタースティシャル広告を表示する

インタースティシャル広告を表示するには、playAd() を呼び出します。まず、isAdAvailable() メソッドを使用して、広告が使用可能であることを確認してください。

if (Vungle.vungle.isAdAvailable())
{
    Vungle.vungle.playAd();
}

インセンティブ広告を表示する

インセンティブ広告を表示するには、構成オブジェクトを使用して playAd() を呼び出し、incentivized オプションを true に設定します。まず、isAdAvailable() メソッドを使用して、広告が使用可能であることを確認してください。

if (Vungle.vungle.isAdAvailable())
{
   var config:VungleAdConfig = new VungleAdConfig();
   config.incentivized = true;
   Vungle.vungle.playAd(config);
}

インセンティブ広告が閲覧されたことに対する報酬を再生者に与えるには、AD_FINISHED イベント リスナーを実装する必要があります (以下の説明を参照)。

イベント リスナーを追加する

Vungle 拡張では、VungleEvent.AD_PLAYABLE,、VungleEvent.AD_STARTED,、VungleEvent.AD_FINISHED,、VungleEvent.AD_LOG. の 4 つのイベントがディスパッチされます。

  1. AD_PLAYABLE は、広告の再生準備ができるとディスパッチされます
    Vungle.vungle.addEventListener(VungleEvent.AD_PLAYABLE, onAdPlayable);

    function onAdPlayable(e:VungleEvent):void
    {
       trace("ad playable");
    }
  2. AD_STARTED イベントと AD_FINISHED イベントは、広告が表示されたときと終了されたときに、それぞれディスパッチされます。
    Vungle.vungle.addEventListener(VungleEvent.AD_STARTED, onAdStarted); 
    Vungle.vungle.addEventListener(VungleEvent.AD_FINISHED, onAdFinished);

    function onAdStarted(e:VungleEvent):void
    {
     trace("ad displayed");
    }

    function onAdFinished(e:VungleEvent):void
    {
     trace("ad dismissed, CTA = " + e.wasCallToActionClicked);
     if (e.wasSuccessfulView)
     {
       trace("counts a completed view - present reward.");
     }
    }
  3. AD_LOG は、Vungle SDK によってログ メッセージが送信されたときにディスパッチされます。このイベントはデバッグに使用できます。ロギングは Vungle iOS SDK にしか実装されていないため、このイベントはプラットフォーム固有です。
    
    Vungle.vungle.setLoggingEnabled(true);
    Vungle.vungle.addEventListener(VungleEvent.AD_LOG, onAdLog);

    private function onAdLog(e:VungleEvent):void
    {
       log("ad log: " + e.message);
    }

その他のオプション

ご存知のとおり、playAd() メソッドの呼び出し時に構成オプションを使用してオブジェクトを渡すことができます。以下は、VungleAdConfig で使用可能なプロパティです。

orientation

このプロパティは、広告の向きを指定するために使用します。Android 用と iOS 用に異なるフラグが用意されています。詳細については、VungleOrientation クラスを参照してください。ビット演算子 OR を使用して、フラグを組み合わせることができます。

config.orientation = VungleOrientation.ANDROID_AUTOROTATE | VungleOrientation.IOS_PORTRAIT;

soundEnabled

広告をサウンドありで再生するか、ミュート再生するかを切り替えるには、このプロパティを使用します。

backButtonImmediatelyEnabled

このオプションは Android 固有です。true の場合、ユーザーは [戻る] ボタンを使用して広告をすぐに終了することができます。false の場合、画面に [閉じる] ボタンが表示されるまで、ユーザーは [戻る] ボタンを使用して広告を終了することができません。

immersiveMode

このオプションは Android 固有です。KitKat+ デバイスでイマーシブ モードを有効または無効にします。

incentivized

インセンティブ モードを設定します。true の場合、ユーザーが広告をスキップしようとすると、確認メッセージが表示されます。

incentivizedUserId

インセンティブ広告の視聴による報酬をこのユーザーが与えられるべきであることを確認するためにアプリケーションに渡される一意のユーザー ID。

incentivizedCancelDialogTitle, incentivizedCancelDialogBodyText, incentivizedCancelDialogCloseButtonText, incentivizedCancelDialogKeepWatchingButtonText

これらのオプションを使用して、インセンティブ広告をスキップするときに表示される確認ダイアログをカスタマイズできます。

extra1 … extra8

COMING SOON - 年齢層や性別などのメトリックを追跡する場合に使用します。

広告配置

COMING SOON - Vungle の Reporting API を使用してデータをリクエストするときにデータを詳しく分類するためのオプションの広告配置名。

largeButtons

このオプションは iOS 固有です。true に設定されている場合は、動画の上に表示されるオンスクリーン ボタンが大きくなります。

グローバル デフォルト

オプションのデフォルト値を設定するには、グローバル構成オブジェクトを使用します。


// 任意の構成オプションを設定します
VungleAdConfig.globalConfig.orientation = VungleOrientation.ANDROID_MATCH_VIDEO;
VungleAdConfig.globalConfig.soundEnabled = false;

新しい VungleAdConfig オブジェクトはすべて、デフォルトで設定されたこれらの値で作成されます。グローバル構成はオプションなしの playAd() でも使用されます。

非推奨のメソッド

以下のメソッドは v2.4.0 以降で非推奨になっています。


Vungle.vungle.displayAd(showCloseButton:Boolean, orientationHint:int):void;
Vungle.vungle.displayIncentivizedAd(name:String, showCloseButton:Boolean, orientationHint:int):void;
Vungle.vungle.setSoundEnabled(enabled:Boolean):void;
Vungle.vungle.setBackButtonEnabled(backEnabled:Boolean):void;
Vungle.vungle.setIncentivizedBackButtonEnabled(backEnabled:Boolean):void;

これらのメソッドは後方互換のために維持されています。新しいアプリケーションで使用したり、playAd() メソッド呼び出しと組み合わせたりすることは推奨されません。

注意: アプリがテスト モードのとき、広告対象のアプリをダウンロードすることはできません。さらに、ダッシュボード で IMP 数は報告されません。これはテスト広告が、SDK が正しく統合されたことを検証する目的のみに使用されるためです。この機能は、アプリをアクティブ モードで本番稼働させると使用可能になります。

トラブルシューティングと FAQ

「VungleExample.as ドキュメント クラスは Flash Professional CS6 でどのようにして使用しますか。」

  1. まず、本ガイドのセクション 1 ~ 3 に従って、アプリケーションの作成と拡張の追加を行います。
  2. VungleExample.as を .fla と同じフォルダーにコピー アンド ペーストします。その内容をタイムラインにコピー アンド ペーストしないでください。それでは機能しません。
  3. 行 51 でアプリケーション ID をご自分の Vungle アプリケーション ID に変更します。
  4. Flash プロパティで、[Document Class] に「VungleExample」と (鍵括弧を付けずに) 入力して、[OK] を押します。
  5. アプリケーションを構築してインストールします。

「新しいバージョンの AIR SDK (4.0 以上) を Flash Professional CS6 でインストールする方法を教えてください。」

このリンクを利用して最新版の AIR SDK を見つけます。AIR 4.0 以上が既にインストールされている場合は、この手順をスキップしてかまいません。そうでない場合は、以下の手順に従ってください。

  1. AIR 4.0 以降の SDK パッケージをハード ドライブ上の場所に解凍します。
  2. Flash Professional CS6 を起動します。
  3. [Help] > [Manage AIR SDK...] を選択します。
  4. プラス (+) ボタンを押して、AIR SDK を解凍した場所を指定します。
  5. [OK] を押します。
  6. [File] > [Publish Settings] を選択します。
  7. 最新版の iOS 向け AIR SDK を [Target] ドロップダウン メニューから選択します。

「新しいバージョンの AIR SDK (4.0 以上) を Flash Builder でインストールする方法を教えてください。」

このリンクを利用して最新版の AIR SDK を見つけます。AIR 4.0 以上が既にインストールされている場合は、この手順をスキップしてかまいません。Adobe から発表されている最新版の Flash Builder AIR SDK のアップデート手順に従うこともできます。

「『Adobe Animate の入力が無効』という内容のエラーが返されます。何をすればよいですか。」

次の図に示すようなエラーが表示される場合は、この記事を参照してください。error_message_at_publish.png

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

コメント