Video Ads Integration For Android - Hiroaki-Shinoda/Geniee-Android-SDK GitHub Wiki

動画広告の実装

動画広告は、インタースティシャル広告と同様、全画面型広告、アプリの起動、動画のプレロール、ゲームのレベル読み込みなど、アプリの画面切り替え時に表示されます。

実装準備

動画広告の実装準備は、下記スタートガイドより、
Geniee SDK をプロジェクトにインストール必要です。
スタートガイド

クラスとインタフェース

Android 動画広告配信には、下記クラスを使用します。

  • GNAdVideo 非同期で動画広告を取得、表示用クラス
  • GNAdVideoListener 広告ロードとクリックベント処理用インタフェース

動画広告の初期化

  1. GNAdVideoををインポートします。

    import jp.co.geniee.gnadsdk.video.GNAdVideo;
    import jp.co.geniee.gnadsdk.video.GNAdVideo.GNAdVideoListener;
    import jp.co.geniee.gnadsdk.common.GNAdLogger;
    
  2. GNAdVideoListenerインタフェースを実装します。

    public class GNAdSampleVideo extends Activity implements GNAdVideoListener
    {
    }
    
  3. GNAdVideoの変数を宣言します。

    GNAdVideo videoAd = null;
    
  4. GNAdVideo のインスタンスを初期化します。

  • 初期化 API

    public GNAdVideo(Context context, int appid)
    
  • 初期化 API の使用例

    videoAd = new GNAdVideo(this, YOUR_SSP_APP_ID_FOR_VIDEO);
    
    • thisパラメータは、アプリのContextを設定します。
    • YOUR_SSP_APP_ID_FOR_VIDEOは、Geniee内での枠の管理IDを設定します。
  1. GNAdVideoListenerインタフェースの実装クラスを設定します。

広告ロードとクリックイベントのは、インタフェースの実装クラス経由で通知されます。
GNAdVideoListenerインタフェースの実装した変数を設定します。 java videoAd.setListener(this);

  • GNAdSampleVideo の実装例:
    import jp.co.geniee.gnadsdk.video.GNAdVideo;
    import jp.co.geniee.gnadsdk.video.GNAdVideo.GNAdVideoListener;
    import jp.co.geniee.gnadsdk.common.GNAdLogger;
    
    public class GNAdSampleVideo extends ActionBarActivity implements GNAdVideoListener {
    private GNAdVideo videoAd = null;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_gnad_sample_video);
    
        // Initializes a GNAdVideo
        videoAd = new GNAdVideo(this, YOUR_SSP_APP_ID_FOR_VIDEO);
        // The alternative interstitial ad will be shown when no video ad.
        //videoAd.setAlternativeInterstitialAppID(YOUR_SSP_APP_ID_FOR_INTERSTITIAL);
        videoAd.setListener(this);
        //videoAd.setAutoCloseMode(false);            // Optional mode to automatically close after playing a video ad. Default: true
        //videoAd.setShowRate(100);                   // (Optional) Ad display frequency. (percentage):Set the number between 0-100 (%). Default: 100
        //videoAd.setShowLimit(0);                    // (Optional) The maximum ad display numbers per app use. : Set the number 0 or higher. Default: 0 (No limited)
        //videoAd.setShowReset(0);                    // (Optional) The maximum reset fraction number of ad display per app
        //videoAd.setLogPriority(GNAdLogger.INFO);    // (Optional) log level
        //videoAd.setGeoLocationEnable(true);         // (Optional) location optimization. Default: false
    }
    

動画広告のロード

動画広告表示用タグを Ad サーバからロードします。
GNAdVideo は、表示前にプリロードし、広告の準備が完了した適切なタイミングで使用することをおすすめします。

  • ロード成功場合、GNAdVideoListeneronGNAdVideoReceiveSettingコールバック関数で通知されます。
  • ロード失敗場合、GNAdVideoListeneronGNAdVideoFailedToReceiveSettingコールバック関数で通知されます。
    • ロード API

      public void load(Activity activity)
      
    • ロード API の使用例

      videoAd.load(this);
      
      • パラメータthis:カレント画面のActivityの変数

動画広告の表示

動画広告を表示する準備ができたら、表示する前に準備できているかどうかを確認します。

  • 次の例では、画面遷移時に動画広告を表示します。
    • 表示 API

      public boolean isReady()
      public boolean show(Activity activity)
      
    • 表示 API の使用例

      if (videoAd.isReady()) {
          videoAd.show(this);
      }
      
      • パラメータthis:カレント画面のActivityの変数

動画広告の更新

新しい動画広告の表示には、広告を再度ロードしてから表示する必要があります。

代替インタースティシャル広告の設定

  • 動画広告の在庫がない、取得失敗時、代替インタースティシャル広告を表示できます。

  • 代替インタースティシャル広告の設定には、インタースティシャル広告枠の管理IDを設定します。

    videoAd.setAlternativeInterstitialAppID(YOUR_SSP_APP_ID_FOR_INTERSTITIAL);
    

GNAdVideoListener インターフェース

  • GNAdVideoListenerのコールバック関数実装し、広告ロードとクリックイベントを受け取ります。

    public static abstract interface GNAdVideoListener
    {
        // 広告データの読み込みが完了した時に送られます。
        public abstract void onGNAdVideoReceiveSetting();
        
        // ネットワークエラー等の原因で広告の読み込みに失敗した時に送られます。
        public abstract void onGNAdVideoFailedToReceiveSetting();
        
        // 動画広告画面が閉じられる直後に送られます。
        public abstract void onGNAdVideoClose();
        
        // 管理画面より、代替インタースティシャル広告画面に設置したボタンがタップされ、
        // インタースティシャル広告画面が閉じられる直後に送られます。
        // タップされたボタンの番号は、`nButtonIndex`パラメータで通知されます。
        public abstract void onGNAdVideoButtonClick(int nButtonIndex);
    }