[Android] Abmob Banner 広告表示、非表示の切り替え

AdMobの広告を非表示にダイナミックに切り替えたいケースについて、たとえば無料アプリは広告を表示して、有料版は広告なしにしたいけどレイアウトを崩したく無いケースなどでしょうか。
 

1x1.trans - [Android] Abmob Banner 広告表示、非表示の切り替え
1x1.trans - [Android] Abmob Banner 広告表示、非表示の切り替え

Android Studio
2021.1.1

 




AdMob Banner の設定

 

広告を画面の上部や底辺に張り付けるのは簡単ですが、広告の位置が他のUI部品の間に挿入されていて、非表示でのレイアウトも不自然にならないようにするには多少工夫が必要です。

以下は広告が画像に挟まれたレイアウトで、ボタンを押すスト広告が非表示になり、空いた隙間を埋めるかあるいは空けたままにする例です。

基本的なBanner広告設定ができている状態から始めます。

admob sdk 00 100x100 - [Android] Abmob Banner 広告表示、非表示の切り替え
無料でアプリを公開して広告を貼りましょう。定番はGoogleがやっている AdMob です。アプリの人気がでればそれなりにマネタイズになりま...

 

 

表示切替の設定

 

1. AdViewをコードで設定

 
2. 広告を表示したい箇所のIDを設定

admob_layoutをidとしてLinearLayoutを定義してダイナミックに扱えるようにする

 
3. AdViewをそのレイアウトに貼る

 
4. removeView()とadView()を使って広告をLinearLayoutから削除、追加して非表示・表示を行う。

 

Manifest, gradleの設定

 

ここではテスト用の App ID を使います。

AndroidManifest.xml

 
build.gradle

 

サンプルコード

 

以上を踏まえて作成します。

MainActivity.java

 
activity_main.xml

 
抜けた広告の隙間をそのままにしたい場合は
最初から LinerLayout の height を 50dp のように指定することもできます。
 

 
strings.xml

 
 

1x1.trans - [Android] Abmob Banner 広告表示、非表示の切り替え
1x1.trans - [Android] Abmob Banner 広告表示、非表示の切り替え

関連ページ:

  1. AdMob 広告を Android Studio で設定
  2. AdMob 表示、非表示の切り替え
  3. インタースティシャルの設置
  4. Interstitial 広告をクラスにまとめる

シェアする

  • このエントリーをはてなブックマークに追加

フォローする