Vungle SDK v. 5 スタート ガイド – Corona

目次

はじめに

  • 統合用として、最新の Corona ビルドを使用することをお勧めします。Vungle Android SDK v. 5.3.2 と Vungle iOS SDK v. 5.3.2 は、日次ビルド 2017.3179 以降の Corona で使用することができます。
  • iOS 向け Vungle Corona プラグインは iOS 8 以上をサポートしており、Corona SDK によって制限されます。
  • Android 向け Vungle Corona プラグインは Android 4.0.3 (Ice Cream Sandwich - API バージョン 15) 以上をサポートしており、Corona SDK によって制限されます。
  • Android 用の Vungle Corona Plugin は 日次ビルド 2017.3124 から新規に Amazon OS 5.4 以上 をサポートするようになりました。
  • サンプル アプリケーションは https://github.com/Vungle/Corona-Plugin/tree/sdk5 からダウンロードできます。

手順 1: build.settings を更新する

次のエントリーを build.settings の plugins テーブルに追加してください。これを追加すると、SDK がサーバーに接続し、ビルド フェーズ中に Vungle SDK 5+ プラグインが統合されます。

plugins =
{ ["plugin.vungle"] = { publisherId = "com.vungle",
},
..
}

Android の場合のみ

Android では、このプラグインを使用するときに以下の権限が自動的に追加されます。

androidPermissions = { "android.permission.INTERNET", "android.permission.WRITE_EXTERNAL_STORAGE", "android.permission.ACCESS_NETWORK_STATE" },

Google Play Services を追加した後、AndroidManifest に次の許可を追加します。Vungle はこれらの情報を使用して、利用可能な最適な広告をユーザーに提供します。

androidPermissions = { "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" / }, 

重要: Corona Enterprise を使用して開発を行う場合は、正常に統合を行うため、Android Support Library v4 を含める必要があります。

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

SDK を初期化する

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

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

  • Vungle 広告のインポート
  • アプリケーション ID
  • アプリケーションで使用するすべての広告配置の参照 ID

上記の ID は、Vungle ダッシュボード上で確認することができます (「広告配置の設定とレポート作成」を参照)。Amazon プラットフォームの場合は、Vungle ダッシュボードで Amazon アプリケーション ID を使用してください。

サンプル コード:

local ads = require "plugin.vungle" platform = system.getInfo( "platformName" ) placements = {}

-- Amazon application ID is under the Android platform
if (platform == "Android") then appData = { appID="YOUR_ANDROID_APP_ID", placements={“PLMT_DEFAULT","PLMT_1","PLMT_2"} } else appData = { appID="YOUR_IOS_APP_ID", placements={“PLMT_DEFAULT","PLMT_1","PLMT_2"} } -- vungleAdListner is optional ads.init("vungle", appData.appID .. "," .. appData.placements[1] .. "," .. appData.placements[2] .. "," .. appData.placements[3] [, vungleAdListener])

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

event.type == "adAvailable"

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

広告が正常にキャッシュされると、[Auto-Cached] で選択した広告配置と一致する広告配置参照 ID で adAvailable イベントが呼び出されます。自動キャッシュ形式の広告配置の場合は、広告の使用可能状態が true から false に、または false から true に変更されたときにだけ、このメソッドが呼び出されます。SDK は、自動キャッシュ形式の広告配置用に広告をリクエストし続けます。それ以外のすべての広告配置では、読み込みが失敗した場合にこのコールバック メソッドが呼び出されます (この場合、adAvailable は「NO」を返します)。

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

自動キャッシュ形式以外の広告配置の場合は、ads.load() メソッドを呼び出して広告を読み込みます。このメソッドは、広告配置の参照 ID 文字列を引数として受け入れます。このメソッドが広告配置用に広告を読み込もうとするのは、ads.load() が発行され、その広告配置用の広告が使用可能になっていない場合に限ります。

ads.load( "PLMT_1” )

注意: 自動キャッシュ形式の広告はプリキャッシュ広告の再生後にただちに読み込まれるため、このメソッドは自動キャッシュ形式以外の広告配置でしか使用されません。

広告配置用の広告を再生する

広告アセットのダウンロードが完了するのに十分な時間待ったら、ads.show() を呼び出して広告を再生することができます。広告を再生しようとする前に event.adPlayble を呼び出すことによって、この広告配置用に準備のできた広告があることを確認しておく必要があります。

サンプル コード:

if (event.placementID == appData.placements[1]) then if ( event.adPlayable == true ) then ads.show( "PLMT_DEFAULT") end end

イベント処理

初期化が行われる前に、リスナーを設定することによってオプションのイベント リスナーを ads.init() に渡すことができます。使用可能なイベント リスナーの一覧を以下に示します。

  • adStart
    タイプ: adStart
    placementID: 広告配置参照 ID
    isError: 広告を再生できなかった場合は true、広告の再生が開始された場合は false

  • adLog
    タイプ: adLog
    message: 広告アクティビティ メッセージ

  • adInitialize
    タイプ: adInitialize

  • adAvailable
    タイプ: adAvailable
    placementID: 広告配置参照 ID
    isAdPlayable: 広告を再生可能な場合は true、再生不可の場合は false

  • adEnd
    タイプ: adEnd
    placementID: 広告配置参照 ID
    didDownload: ユーザーがダウンロード ボタンをクリックした場合は true、クリックしなかった場合は false
    completedView: ユーザーが動画を 80% 以上視聴した場合は true、そうでない場合は false

  • vungleSDKlog
    タイプ: vungleSDKlog
    message: SDK イベント メッセージ

サンプル コード:

local function vungleAdListener( event ) if ( event.type == "adStart" and not event.isError ) then -- adStart event is called and ad will play end if ( event.type == "adStart" and event.isError ) then -- Ad has not finished caching and will not play end if ( event.type == "adLog") then -- adLog event is called to pass ad activity information end if ( event.type == "adInitialize") then -- adInitilizaed is called when placement has successfully initialized end if ( event.type == "adAvailable" ) then -- adAvailable is called when playablility changes to/from true/false -- Usage example: setting a flag to true when download completes -- Check event.placementID and event.isAdPlayable to set a flag to true -- Then check this flag later in your app and play an ad when it is true end if ( event.type == "adEnd" ) then -- adEnd is called when the end card is closed and and control is return to the hosting app end if ( event.type == "vungleSDKlog" ) then -- vungleSDKlog is called when logging event from SDK takes place end end

カスタマイズ オプション

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

キー

説明

alertTitle

alertText

alertContinue

placement

文字列

ユーザーがインセンティブ動画を途中で閉じようとしたときに表示するメッセージをカスタマイズできます。(報酬対象 の広告は、インセンティブ 広告として参照されることがあります。どちらの場合も、同じような広告のことを意図しています。SDK のコードと Reporting API では、「インセンティブ」を使用します。)

注意: この設定は標準の Vungle 広告にのみ適用されます。Dynamic Template 広告の場合は、これと同じカスタマイズ オプションをダッシュボードで設定できます。

isAutoRotation

ブール値

Android では、true (デフォルト) の場合、デバイスの向きに合わせて動画広告が自動的に回転します。false の場合は、その広告の望ましい向きが使用されます。

iOS の場合は、下記の orientation キーを参照してください。

isSoundEnabled

ブール値

true (デフォルト) の場合、動画広告の再生時にデバイスのサウンド設定に従ってサウンドが有効になります。false の場合、ミュートの状態で動画の再生が始まります。ユーザーは再生中にサウンドをミュートまたはミュート解除できます。

immersive

ブール値

(Android の場合のみ) KitKat+ デバイスでイマーシブ モードを有効または無効にします。

large

ブール値

(iOS の場合のみ) ミュートや終了などの広告機能を制御するボタンを拡大して描画します。

orientation

整数

(iOS の場合のみ) 横向きの場合は 4、縦向きの場合は 0、自動回転の場合は 5 に設定します。

userTag

文字列

報酬型広告を視聴したユーザーに報酬を与えるには、自分のユーザー ID を設定します。

ordinal

文字列

1 つのセッション内で表示された広告の数をトラッキングするための序数を設定します。リクエストに応じて、カスタム レポートを使用することができます。


サンプル コード:

if (platform == "Android") then options = { placementId = placements[i], isAutoRotation = isAutoRotate, immersive = isImmersive, isSoundEnabled = not isMuted } else options = { placementId = placements[i], large = large.isOn, isSoundEnabled = not muted.isOn } end if (not isempty(alertTitle.text)) then options.alertTitle = alertTitle.text end if (not isempty(alertText.text)) then options.alertText = alertText.text end if (not isempty(alertClose.text)) then options.alertClose = alertClose.text end if (not isempty(alertContinue.text)) then options.alertContinue = alertContinue.text end if (not isempty(placement.text)) then options.placement = placement.text end ads.show(options)
他にご質問がございましたら、リクエストを送信してください

コメント