【Flutter】ネイティブアドバンス広告の実装

はじめに

とあるFlutterアプリに、Google Admobのネイティブアドバンス広告を付けることになりました。実装のやり方は2種類あるようです。
※今回は「2」のみご紹介します。

  1. Android,iOSそれぞれネイティブ言語で実装
  2. google_mobile_adsパッケージのテンプレートを使う

そもそもネイティブ広告は、プラットフォームごとにUIをカスタマイズし、アプリ内に自然に溶け込むようにすることでユーザーにストレスがかからないような広告を表示することができます。それをパッケージのテンプレートを使ってDartだけで作れるようにしたのが2です。1に関しては、codelabsに詳しい手順が乗っているのでご参照ください。

今回はgoogle_mobile_adsパッケージに用意されたテンプレートで実装するやり方にしました。説明用に、広告が読み込まれたら表示するだけのアプリにしています。
参考:https://developers.google.com/admob/flutter/native?hl=ja
※Admob管理パネルでのアプリ追加、広告ユニット追加等は説明しません。

環境

実装

AndroidManifest.xmlにアプリIDを追加。今回はAndroidのテスト用アプリID。

Info.plistにもアプリIDを追加。今回はiOSのテスト用アプリID。

そして全体のコードになります。
こちらのコードをコピペして"flutter pub get"すればとりあえずAndroidデバイスで動くと思います。

コードの説明

_loadNativeAd()でネイティブ広告の読み込みを行っています。
この時_adUnitIdには適切な広告ユニットIDを指定してください。
読み込みが完了したらNativeAdオブジェクトを取得し、AdWidget()で広告を表示しています。nativeTemplateStyle以下では広告のスタイルを指定しています。詳しくは、NativeTemplateStyleをご参照ください。
そしてNativeAdは不要になったら必ずdisposeでリリースしてあげます。

今回極力シンプルにしていますが、広告ユニットIDの管理クラスやエラー処理は適宜追加してください。

以上。

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

上部へスクロール