AdMobネイティブアドバンス広告の対応方法について説明します。
Androidでの導入手順
AdMob管理画面
実装コード
AdMob for AndroidのNative Ads Advancedページ
ネイティブ広告とカスタム レンダリング - SDK for DFP Users on Android
に必要な情報がまとまっています。まずはこちらを軽く目を通すと、概要や実装方法が分かると思います。
簡単にまとめると、ネイティブ広告表示用のレイアウトを自前で用意して、リクエスト帰ってきたデータをそのレイアウトの適切な場所に表示するだけです。
手っ取り早く実装するのであれば、GitHubのサンプルをダウンロードし、ローカルでビルドして動きを確認しつつ、自分用にカスタマイズするのがお勧めです。
広告の種類について
AppInstallAdとContentAdの2種類があります。AppInstallAdはアプリインストールを促進する広告で、ContentAdはAdsenseなどWeb系の静的コンテンツ広告です。どちらか一方をリクエスト出来ますが、両方リクエストした場合に最終的にどちらが表示されるかは、収益性などを考慮してGoogle側で自動で決定されているようです。
現在はUnifiedNativeAdを利用することが推奨されています。収益性が高いように自動で最適なコンテンツを表示してくれます。ソースコードは、ここのサンプルがそのまま利用出来ると思います。
テスト専用IDについて
テスト時は広告ユニットIDとしてAdMob指定の以下を指定します。
ca-app-pub-3940256099942544/2247696110
バナーやインタースティシャル等の見慣れたテスト広告とは異なり、いまいま?は以下のように、本物の広告が出る様子で、本当にクリックしてもいいか悩みますが、クリックしても収益にはならず大丈夫っぽいです。けど、クリックするのは気が引けますね…。
テストデバイス設定
テストデバイス設定をしておくことで、本番用の広告であってもテスト項目として認識してくれる様子ですので、自分の誤クリックを防ぐためにも設定しておくべきです。ただ、Galaxy系のデバイスは同一デバイスであってもなぜかテストデバイスIDがコロコロ変わっているような…。
AdRequest adRequest = new AdRequest.Builder()
.addTestDevice("XXXXXXXXXXXXXXXXXXXXX") // あなたのテストデバイスを追加
.build();
adLoader.loadAd(adRequest);
安定性
一時期はクラッシュが頻発していたりしますが、割と安定してきているのではないでしょうか。ただ、まだ一般公開されていないということは問題を色々と抱えているのでしょう。
現在は全く問題なく使えます。この広告起因のクラッシュも基本起きていないと思います。