Skip to content

アイコン型広告

fan-k-manabe edited this page Aug 25, 2016 · 22 revisions

事前準備

まだ広告枠作成、SDKダウンロードを行っていない場合、下記リンク先を参照してください。

SDKの組み込み

プロジェクトにUnityパッケージをインポートしていない場合は、下記手順でインポートを行ってください。


アイコン広告の表示(※Androidのみ)

手順は以下の通りです。

  1. NendAdIconをシーンに追加
  2. Inspectorでの設定
  3. イベントのハンドリング(任意)

NendAdIconをシーンに追加

GameObject → CreateEmptyを選択し、空のGameObjectを作成します。

image

作成したGameObjectの名前を他と被らない一意な名前に変更し、
Assets/NendAd/Scripts/AD/NendAdIcon.csGameObjectに追加します。

image

複数の広告枠を設置する際は、ここまでの手順を設置する広告枠の数分行ってください。
その際は、NendAdIconを追加したGameObject同士で名前が被らないようにしてください。

e.g. アイコンの広告枠を2つ設置する場合

GameObjectの名前をNendAdIcon1NendAdIcon2とし被らないようにしています。

複数のアイコン広告枠

NendAdIconクラスのIFについて

NendAdIconクラスでは以下のIFを提供しています。 必要に応じてご利用ください。

  1. 広告の表示/非表示
  2. 広告ローテーションの停止/再開
  3. レイアウトの設定 (v1.2.0で追加)

NendAdIconおよびその関連クラスは、ビルドターゲットがAndroidの時のみ参照できるようになっています。
AndroidとiOS両方に対応したアプリでNendAdIconクラスのIFを使用する場合は、以下の例のように実装箇所を#UNITY_ANDROIDプラットホームマクロで囲うようにしてください。

using NendUnityPlugin.AD;
...

#if UNITY_ANDROID
    NendAdIcon iconAd = ...;

    ...

    iconAd.Hide ();

    ...

    icon.Layout (new NendAdIconLayoutBuilder ().Orientation (Orientation.HORIZONTAL));

    ...

    icon.AdLoaded += ...;
#endif

Inspectorでの設定

続いてInspector上で枠情報や表示位置等の設定を行います。

アイコン広告Inspector

各設定項目の内容は以下の通りです。

Account
Androidのアカウント情報を入力します。

項目 説明
Api Key 管理画面より発行されたapiKeyを入力します
Spot Id 管理画面より発行されたspotIdを入力します

Automatic Display
シーン起動後にアイコン広告を自動表示するかどうかを設定します。
アイコン広告を任意のタイミングで表示させたい場合にご利用ください。

項目 説明
チェックON シーン起動後にアイコン広告を自動表示します
チェックOFF シーン起動後にアイコン広告を自動表示しません

Orientation
アイコン広告の配置方向を設定します。

項目 説明
HORIZONTAL アイコン広告を水平方向に並べて配置します
VERTICAL アイコン広告を垂直方向に並べて配置します
UNSPECIFIED アイコン広告を並べずに別々に配置します

Gravity
アイコン広告全体の表示位置を設定します。縦方向と横方向の組み合わせが可能です。
デフォルトでは画面左上に表示されます。
OrientationでHORIZONTALかVERTICALを選択した時のみ有効となります。

項目 説明
Size 設定するGravityの数を入力します
LEFT 画面左に表示します
TOP 画面上に表示します
RIGHT 画面右に表示します
BOTTOM 画面下に表示します
CENTER_VERTICAL 画面縦中央に表示します
CENTER_HORIZONTAL 画面横中央に表示します

Margin
アイコン広告全体の上下左右の余白(dip)を設定します。
OrientationでHORIZONTALかVERTICALを選択した時のみ有効となります。
Gravityが設定されている場合は、Gravityで設定した地点からの余白となります。

項目 説明
Left 左側の余白を設定します
Top 上側の余白を設定します
Right 右側の余白を設定します
Bottom 下側の余白を設定します

Icon

項目 説明
Size アイコン広告の個数を入力します (最大6)

以下は各アイコン広告ごとの個別の設定となります(Element 0〜)

Tag
アイコン広告を識別するためのタグ(数値)を入力します。

プログラム上から個々のアイコン広告に対してレイアウトを設定する場合に使用します。
その場合は、タグの値をアイコン広告同士で被らないようにする必要があります。
プログラム上からのレイアウト設定を行わない場合は入力不要です。

詳細はAPIリファレンスをご参照ください。

Size
アイコン広告のサイズ(dip)を入力します。

Space Enabled
アイコン広告の余白の有無を設定します。

項目 説明
チェックON アイコン広告の余白を表示します
チェックOFF アイコン広告の余白を表示しません

Title Visible
アイコン広告のタイトルの表示を制御します。

項目 説明
チェックON タイトルを表示します
チェックOFF タイトルを表示しません

Title Color
アイコン広告のタイトルの文字色を入力します。未入力の場合は黒色となります。
#rrggbb 形式で指定してください(例:#FFFFFF)。

Gravity
アイコンの表示位置を設定します。縦方向と横方向の組み合わせが可能です。
OrientationでUNSPECIFIEDを選択した時のみ有効となります。
デフォルトでは画面左上に表示されます。

項目 説明
Size 設定するGravityの数を入力します
LEFT 画面左に表示します
TOP 画面上に表示します
RIGHT 画面右に表示します
BOTTOM 画面下に表示します
CENTER_VERTICAL 画面縦中央に表示します
CENTER_HORIZONTAL 画面横中央に表示します

Margin
アイコン広告の上下左右の余白(dip)を設定します。
Gravityが設定されている場合は、Gravityで設定した地点からの余白となります。

項目 説明
Left 左側の余白を設定します
Top 上側の余白を設定します
Right 右側の余白を設定します
Bottom 下側の余白を設定します

e.g. アイコン型広告を画面下部中央に水平方向に4つ並べて表示する場合

アイコン広告実装サンプル

イベントのハンドリング(任意)

NendAdIconの各EventHandlerにデリゲートメソッドを追加することで、
広告のロードやクリック等のイベントを受け取ることができます。

using NendUnityPlugin.AD;
using NendUnityPlugin.Common;
...

#if UNITY_ANDROID
    NendAdIcon icon = ...;
    icon.AdLoaded += OnFinishLoadIconAd;
    icon.AdReceived += OnReceiveIconAd;
    icon.AdFailedToReceive += OnFailToReceiveIconAd;
    icon.AdClicked += OnClickIconAd;
    icon.InformationClicked += OnClickInformation;
#endif

...

#if UNITY_ANDROID
    public void OnFinishLoadIconAd (object sender, EventArgs args)
    {
        UnityEngine.Debug.Log ("広告のロードが完了しました。");
    }

    public void OnClickIconAd (object sender, EventArgs args)
    {
        UnityEngine.Debug.Log ("広告がクリックされました。");
    }

    public void OnReceiveIconAd (object sender, EventArgs args)
    {
        UnityEngine.Debug.Log ("広告の受信に成功しました。");
    }

    public void OnFailToReceiveIconAd (object sender, NendAdErrorEventArgs args)
    {
        UnityEngine.Debug.Log ("広告の受信に失敗しました。エラーメッセージ: " + args.Message);
    }

    public void OnClickInformation(object sender, EventArgs args)
    {
        UnityEngine.Debug.Log ("インフォメーションボタンがクリックされオプトアウトページに遷移しました。");    
    }
#endif

検証

Clone this wiki locally
You can’t perform that action at this time.