Playable でインタラクティブな広告
Unity Exchange を通じてインタラクティブな Playable 広告を配信します。
読み終わるまでの所要時間 23 分最終更新 7日前
Playable 広告は、Unity Exchange で 2 番目に人気のあるタイプの広告です。Unity インベントリはすべてモバイルのアプリケーション内プロジェクトであるため、そのほとんどが Playable 広告をサポートしています。
MRAID
MRAID (モバイルリッチメディア広告インターフェース定義) は、モバイルアプリでモバイルリッチメディア広告を表示するための共通 API です。MRAID を使用すると、広告開発者は一般的なコードを使用して、MRAID 準拠のシステムで動作するインタラクティブな広告を設計できます。MRAID は、広告が表示されるアプリケーションで相互作用する方法を制御します。
識別と初期化期化
広告が Unity MRAID インターフェースと互換性のあるものであることを確認するには、以下を行います。
- MRAID 機能を参照する前に、広告のコードに MRAID スクリプトタグ () をできるだけ早い段階で含めることで、MRAID 準拠であることを確認します。
<script src="mraid.js"></script> - 機能を使用して、MRAID 状態が "loading" から "ready" に変わることを検出します。
addEventListener - 広告を表示する前に「準備完了」状態を確認するには、メソッドを使用します。これにより、広告が登録される前に Ready イベントが発生するなどのタイミングの問題を回避できます。
getState
function showMyAd() { // Ad content}if (mraid.getState() === ‘loading') { mraid.addEventListener(‘ready', showMyAd);} else { showMyAd();}
初期化前に オブジェクトにアクセスして、必要な情報を確認します。この変数はウィンドウオブジェクトにアタッチされ、以下の属性を含みます。
MRAID_ENVAttribute | 型 | 例 | 説明 |
|---|---|---|---|
| string | | 実装されている MRAID インターフェースのバージョン。 |
| string | | WebView を実行する SDK の名前。 |
| string | | WebView を実行している SDK のバージョン。 |
| string | | 広告を実行しているアプリケーションのパッケージ名またはアプリケーション ID。 |
| boolean | | |
| boolean | | |
MRAID 機能の識別および初期化方法の詳細については、IAB ドキュメントを参照してください。
イベント
広告は、以下のイベントを受信するイベントリスナーを登録する必要があります。詳細については、 メソッドと メソッド を参照してください。
addEventListenerremoveEventListenererror
このイベントは、ホストが広告によって呼び出される機能を実行できないときにトリガーされます。
error(message: string, action: string): voidパラメーター | 型 | 説明 |
|---|---|---|
| string | エラーの説明。 |
| string | エラーがトリガーされたときに呼び出される MRAID アクションの名前。 |
ready
このイベントは、初期化期化が完了したときにトリガーされます。
ready()sizeChange
このイベントは、広告コンテナのサイズが変更されるたびにトリガーされます(例えば、デバイスの向きの変更に対する反応)。
sizeChange(width: number, height: number)パラメーター | 型 | 説明 |
|---|---|---|
| number | 新しいビューの幅。 |
| number | 新しいビューの高さ。 |
stateChange
このイベントは、広告コンテナの状態が変更されるたびにトリガーされます。
stateChange(state: string)パラメーター | 型 | 説明 |
|---|---|---|
| string | 広告コンテナの状態の表示。 |
exposureChange
このイベントは、広告の露出が変更されるたびにトリガーされます。例えば、以下のような場合です。
- 広告が表示されます。
- 広告が閉じます。
- アプリケーションに前景または背景がある。
- 広告コンテナの露出が変更された (例えば、ユーザーがプライバシー設定を開く)。
exposureChange(exposedPercentage: number, visibleRectangle: Rectangle | null, occlusionRectangles: Rectangle[] | null)パラメーター | 型 | 説明 |
|---|---|---|
| number | 画面に表示される広告の割合( |
| | 広告コンテナの表示部分。 |
| | |
audioVolumeChange
このイベントは、デバイスの音量が変更されるたびに発生します。
audioVolumeChange(volumePercentage: number): voidパラメーター | 型 | 説明 |
|---|---|---|
| number | デバイスに設定された最大音量のパーセンテージ( |
viewableChange (非推奨)
このイベントは、広告の表示性が変更されるたびにトリガーされます。例えば、以下のような場合です。
- 広告が表示されます。
- 広告が閉じます。
- アプリケーションに前景または背景がある。
viewableChange(viewable: boolean): voidパラメーター | 型 | 説明 |
|---|---|---|
| boolean | 「 |
サポートされているメソッド
Unity は以下の MRAID 方式をサポートします。
- addEventListener
- close
- getCurrentAppOrientation
- getCurrentPosition
- getDefaultPosition
- getMaxSize
- getplacementtype
- getScreenSize
- getState
- getVersion
- isViewable
- open
- removeEventListener
- supports
- unload
addEventListener
このメソッドを使用して、特定のハンドラー機能を特定のイベントにサブスクライブします。特定のイベントに複数のリスナーをサブスクライブでき、1 つのリスナーで複数のイベントをハンドルできます。
addEventListener(event: string, listener: function): voidパラメーター | 型 | 説明 |
|---|---|---|
| string | リッスンするイベントの名前。すべてのリストについては、イベントのセクションを参照してください。 |
| object | イベントが発生したときに実行する機能。 |
close
このメソッドを使用して、広告コンテナの状態をダウングレードします。現在、Unity は と の両方のメソッドをサポートしていないため、このメソッドは広告をデフォルト状態から非表示状態にしか変更できません。
expandresizeclose():voidgetCurrentAppOrientation
このメソッドを使用して、デバイスにアプリケーションの現在の向きをクエリします。
getCurrentAppOrientation(): { orientation: string, locked: boolean }戻り値
値 | 説明 |
|---|---|
| アプリケーションの向きを示す文字列。これは、 |
| 現在の位置で方向がロックされているかどうかを示すブーリアン。true は方向がロックされていることを示します。 |
getCurrentPosition
このメソッドを使用して、広告ビューの現在の位置とサイズを密度に依存しないピクセル単位で返します。
getCurrentPosition():JavaScriptObject戻り値
{x: number, y: number, width: number, height: number}値 | 説明 |
|---|---|
| |
| |
| ピクセル単位のコンテナの現在の幅。 |
| ピクセル単位のコンテナの現在の高さ。 |
getDefaultPosition
このメソッドを使用して、デフォルトの広告ビューの位置とサイズを返します。このサイズは、呼び出しビューの状態に関係なく、密度に依存しないピクセルで測定されます。
getDefaultPosition():JavaScriptObject戻り値
{x: number, y: number, width: number, height: number}値 | 説明 |
|---|---|
| |
| |
| ピクセル単位のコンテナの現在の幅。 |
| ピクセル単位のコンテナの現在の高さ。 |
getMaxSize
Unity は メソッドと メソッドをサポートしていないため、このメソッドは常に広告のコンテナの最大サイズ(密度に依存しないピクセル幅と高さ)を返します。全画面のインタースティシャル広告の戻り値は常に全画面の寸法になります。
expandresizegetMaxSize():JavaScriptObject戻り値
{width: number, height: number}値 | 説明 |
|---|---|
| ピクセル単位のコンテナの現在の幅。 |
| ピクセル単位のコンテナの現在の高さ。 |
getplacementtype
このメソッドは配置のタイプを返します。これは、クリエイティブの動作に影響する可能性があります。
getplacementtype():string戻り値
値 | 説明 |
|---|---|
| インライン広告の配置を示します。 |
| インタースティシャル広告配置を示します。 |
getScreenSize
このメソッドは、広告が実行されているデバイスの現在の向き(密度に依存しないピクセル)に基づいて、実際のピクセル幅と高ささを返します。
getScreenSize():JavaScriptObject戻り値
{width: number, height: number}値 | 説明 |
|---|---|
| 画面サイズの最大幅(ピクセル単位)。 |
| 画面サイズの最大高さ(ピクセル単位)。 |
getState
このメソッドは、広告コンテナの現在の状態を返します。Unity は メソッドと メソッドをサポートしていないため、広告状態が または の値を返すことはありません。
expandresize"expanded""resized"getState(): string戻り値
値 | 説明 |
|---|---|
| 広告コンテナがデフォルトの表示状態であることを示します。 |
| 広告コンテナが非表示であることを示します。 |
| 広告コンテナがロード中であることを示します。 |
getVersion
このメソッドは、UnityがサポートするMRAIDインターフェースのバージョンを返します。これにより、入札者はディスプレイ前に基本機能を確認できます。
getVersion():string戻り値
値 | 説明 |
|---|---|
| MRAID インターフェースがバージョン 3.0 であることを示します。 |
isViewable (非推奨)
このメソッドは、広告コンテナが現在画面上にあるかオフになっているかを返します。
isViewable():boolean戻り値
値 | 説明 |
|---|---|
| コンテナは画面に表示され、表示されます。 |
| コンテナはオフ画面で表示できません。 |
open
このメソッドは、外部 URL をロードするアプリケーションに埋め込まれたブラウザーウィンドウを表示します。埋め込まれたブラウザーを許可しないデバイスプラットフォームでは、このメソッドは外部 URL でネイティブブラウザーを起動します。
open(url:string):voidパラメーター
パラメーター | 型 | 説明 |
|---|---|---|
| string | 外部ウェブページの URL。 |
removeEventListener
このメソッドを使用して、特定のイベントの特定のハンドラーメソッドを解除します。イベントリスナーが使用されなくなった場合は、エラーを避けるために常に削除する必要があります。
removeEventListner(event: string, listener: fuction: void)パラメーター
パラメーター | 型 | 説明 |
|---|---|---|
| string | リスナーがサブスクライブしているイベントの名前。次のものが含まれます。
|
| function | 削除する機能。 |
supports
このメソッドは、要求元デバイスが特定の特徴をサポートしているかどうかを返します。
supports(feature:string):booleanパラメーター
パラメーター | 型 | 説明 |
|---|---|---|
| string | クエリする特徴の名前:
|
戻り値
値 | 説明 |
|---|---|
| デバイスは、照会された特徴をサポートします。 |
| デバイスは照会された特徴をサポートしていません。 |
unload
このメソッドは、ユーザーに広告を表示しないようにホストに通知します。このメソッドは、広告が正しく描画されないエラーまたはランタイム例外が発生した場合に使用します。
unload(): voidサポートされていないメソッド
Unity は以下の方法をサポートしていません。
createCalendarEventexpandgetExpandPropertiesgetLocationgetResizePropertiesinitVpaidplayVideoresizesetExpandPropertiessetResizePropertiesstorePictureuseCustomClose
トラブルシューティング
以下の例のようなが表示された場合は、MRAID インターフェースがまだ利用できないか、広告クリエイティブに スクリプトタグを含めるのに失敗したため、インターフェースが接続されていない可能性があります。
Uncaught TypeError<MRAID>例
Uncaught TypeError: Cannot read property 'getVersion' of undefined.このエラーは、 スクリプト タグを指定せずに メソッドを呼び出した場合に発生します。これを修正するには、MRAID 関数を参照する前に、コードの早い段階でタグす。
<MRAID>getVersion