[go: up one dir, main page]

Skip to content
This repository has been archived by the owner on Apr 5, 2024. It is now read-only.

フルボード広告実装手順

fan-w-suzuki edited this page May 15, 2019 · 11 revisions

事前準備

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

フルボード広告枠作成手順

nend管理画面「新規広告枠の作成」から下記項目を選択し、広告枠を作成します。

  • 広告枠のタイプ:「ネイティブアド」
  • 広告枠名:任意
  • 実装タイプ:「SDK」
  • 広告画像選択:「横長(5:3)の大きい広告画像」
  • 広告表示数:「1ヶ所のみ」

SDKの組み込み

プロジェクトにSDKを追加していない場合、以下の方法でSDKを追加してください。

フルボード広告実装手順

まず、NendAdFullBoardLoaderを使用し広告をロードします。

Kotlin
import net.nend.android.NendAdFullBoard
import net.nend.android.NendAdFullBoardLoader
import net.nend.android.NendAdFullBoardView
...

class MainActivity : AppCompatActivity() {

    private lateinit var loader: NendAdFullBoardLoader
    private var fullBoardAd: NendAdFullBoard? = null  // フルボード広告のインスタンス

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_full_board)

        // SpotIdとApiKeyにはネイティブ広告の枠(300x180サイズの画像あり)を設定します
        loader = NendAdFullBoardLoader(applicationContext, 485520, "a88c0bcaa2646c4ef8b2b656fd38d6785762f2ff")
        loader.loadAd(object : NendAdFullBoardLoader.Callback {
            override fun onSuccess(ad: NendAdFullBoard?) {
                fullBoardAd = ad
            }

            override fun onFailure(fullBoardAdError: NendAdFullBoardLoader.FullBoardAdError?) {
                when (fullBoardAdError) {
                    NendAdFullBoardLoader.FullBoardAdError.FAILED_AD_REQUEST -> {
                        // 広告リクエストに失敗しました
                    }
                    NendAdFullBoardLoader.FullBoardAdError.FAILED_DOWNLOAD_IMAGE -> {
                        // 広告画像のダウンロードに失敗しました
                    }
                    NendAdFullBoardLoader.FullBoardAdError.INVALID_AD_SPACES -> {
                        // フルボード広告で利用できない広告枠が指定されました
                    }
                }
            }
        })
    }
}
Java
import net.nend.android.NendAdFullBoard;
import net.nend.android.NendAdFullBoardLoader;
import net.nend.android.NendAdFullBoardView;
...

public class MainActivity extends AppCompatActivity {

    private NendAdFullBoardLoader mAdLoader;
    private NendAdFullBoard mAd; // フルボード広告のインスタンス

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // SpotIdとApiKeyにはネイティブ広告の枠(300x180サイズの画像あり)を設定します
        mAdLoader = new NendAdFullBoardLoader(this, 485520, "a88c0bcaa2646c4ef8b2b656fd38d6785762f2ff");
        mAdLoader.loadAd(new NendAdFullBoardLoader.Callback() {
            @Override
            public void onSuccess(NendAdFullBoard ad) {
                mAd = ad;
            }

            @Override
            public void onFailure(NendAdFullBoardLoader.FullBoardAdError fullBoardAdError) {
                switch (fullBoardAdError) {
                    case FAILED_AD_REQUEST:
                        // 広告リクエストに失敗しました
                        break;
                    case FAILED_DOWNLOAD_IMAGE:
                        // 広告画像のダウンロードに失敗しました
                        break;
                    case INVALID_AD_SPACES:
                        // フルボード広告で利用できない広告枠が指定されました
                        break;
                }
            }
        });
    }
}

次に、ロードした広告を任意の方法で表示します。

  • 全画面で表示する場合

    Kotlin
    public class MainActivity extends AppCompatActivity {
        ...
        private fun showFullBoardAd() {
            fullBoardAd.show(this)
        }
    }
    Java
    public class MainActivity extends AppCompatActivity {
        ...
        private void showFullBoardAd() {
            mAd.show(this);
        }
    }
  • 広告画面を任意の方法で表示させる場合

    Kotlin
    public class MainActivity extends AppCompatActivity {
        ...
        private fun showCustomFullBoardAd() {
            // `NendAdFullBoardView#Builder`を使用してフルボード広告を表示する`View`のみを個別に取 得することができます
            val adView = NendAdFullBoardView.Builder.with(this, fullBoardAd) // `Context`と`NendAdFullBoard`のインスタンスから`Builder`を生成します
                    .enableCloseButton { // クローズボタンを表示させたい場合
                        // クローズボタンのクリック時の処理を実装します
                    }
                    .build()
    
            // e.g. 任意の`ViewGroup`に追加する場合
            val root: ViewGroup = ...
            root.addView(adView)
        }
    }
    Java
    public class MainActivity extends AppCompatActivity {
    ...
    private void showCustomFullBoardAd() {
        // `NendAdFullBoardView#Builder`を使用してフルボード広告を表示する`View`のみを個別に取得することができます
        View adView = NendAdFullBoardView.Builder.with(this, mAd) // `Context`と`NendAdFullBoard`のインスタンスから`Builder`を生成します
                          .enableCloseButton(new View.OnClickListener() { // クローズボタンを表示させたい場合
                              @Override
                              public void onClick(View v) {
                                  // クローズボタンのクリック時の処理を実装します
                              }
                          })
                          .build();
    
        // この広告Viewを任意の`ViewGroup`に追加したり、任意の`Fragment`上で表示させることができます
        // なお、広告Viewは親Viewのサイズから表示サイズを計算するようになっておりますので、
        // サイズ不定の`ViewGroup`に追加した場合に正しくレイアウトされない可能性があります
    
        // e.g. 任意の`ViewGroup`に追加する場合
        ViewGroup root = ...;
        root.addView(adView);
    }
    }

注意: フルボード広告を閉じた際、自動で広告のリロードは行われません。広告内容を更新する場合は再度ロード処理を実行する必要があります。

イベント通知

以下のいずれかの方法で広告の各種イベントを取得できます。

  • 全画面で表示する場合

    Kotlin
    // `NendAdFullBoard.FullBoardAdListener`を実装します
    class FullBoardDefaultActivity : AppCompatActivity(), NendAdFullBoard.FullBoardAdListener {
        ...
        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            setContentView(R.layout.activity_full_board)
            ...
            loader.loadAd(object : NendAdFullBoardLoader.Callback {
                override fun onSuccess(ad: NendAdFullBoard?) {
                    fullBoardAd = ad
                    // イベントリスナーをセットします
                    fullBoardAd!!.setAdListener(this@FullBoardDefaultActivity)
                }
    
                override fun onFailure(fullBoardAdError: NendAdFullBoardLoader.FullBoardAdError?) {
                    ...
                }
            })
        }
        override fun onDismissAd(ad: NendAdFullBoard?) {
            // 広告クローズ時に呼び出されます
        }
    
        override fun onShowAd(ad: NendAdFullBoard?) {
            // 広告表示時に呼び出されます
        }
    
        override fun onClickAd(ad: NendAdFullBoard?) {
            // 広告クリック時に呼び出されます
        }
    }
    Java
    // `NendAdFullBoard.FullBoardAdListener`を実装します
    public class MainActivity extends AppCompatActivity implements NendAdFullBoard.FullBoardAdListener {
        ...
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            ...
    
            mAdLoader.loadAd(new NendAdFullBoardLoader.Callback() {
                @Override
                public void onSuccess(NendAdFullBoard ad) {
                    mAd = ad;
                    // イベントリスナーをセットします
                    mAd.setAdListener(MainActivity.this);
                }
    
                @Override
                public void onFailure(NendAdFullBoardLoader.FullBoardAdError fullBoardAdError) {
                    ...
                }
            });
        }
    
        @Override
        public void onShowAd(NendAdFullBoard nendAdFullBoard) {
            // 広告表示時に呼び出されます
        }
    
        @Override
        public void onDismissAd(NendAdFullBoard nendAdFullBoard) {
            // 広告クローズ時に呼び出されます
        }
    
        @Override
        public void onClickAd(NendAdFullBoard nendAdFullBoard) {
            // 広告クリック時に呼び出されます
        }
    }
  • 広告Viewのみを取得し任意の方法で表示させる場合

    Kotlin
    // `NendAdFullBoardView.FullBoardAdClickListener`を実装します
    class FullBoardDefaultActivity : AppCompatActivity(), NendAdFullBoardView.FullBoardAdClickListener {
        ...
        private fun showCustomFullBoardAd() {
            val adView = NendAdFullBoardView.Builder.with(this, fullBoardAd)
                         .adClickListener(this) // クリックリスナーをセットします
                         .build()
        }
        ...
        override fun onClickAd(nendAdFullBoard: NendAdFullBoard?) {
            // 広告クリック時に呼び出されます
        }
    }
    Java
    // `NendAdFullBoardView.FullBoardAdClickListener`を実装します
    public class MainActivity extends AppCompatActivity implements NendAdFullBoardView.FullBoardAdClickListener {
        ...
        private void showCustomFullBoardAd() {
            View adView = NendAdFullBoardView.Builder.with(this, mAd
                          .adClickListener(this) // クリックリスナーをセットします
                          .build();
        }
        ...
        @Override
        public void onClickAd(NendAdFullBoard nendAdFullBoard) {
            // 広告クリック時に呼び出されます
        }
    }

検証

日本語

nendSDK Android について

SDKの組み込み

広告の表示

ログ出力

導入サポート


English

About nendSDK Android

SDK Implementation

Display Ads

Logs Output

Supports

Clone this wiki locally