Activityの中央下にAdMobバナー広告を表示する方法【XMLなし】

よく無料アプリとかDLすると、中央下にAdMobとかが表示されてます。

こういう配置はXMLからレイアウトでも設置できるけど、少し面倒くさいんですよね。

▼ あと次みたいな場合だとXMLを使えない場面も

  • 動的に広告設置したい場合
  • コード側から広告表示したい場合

簡単そうだけど、やるとなると色々知識不足でジタバタしてしまいました。

そこで、レイアウトなしでバナー広告を Activity中央下 に表示する方法 をメモしときます。

失敗例  : 初めにAdMobバナー表示で試してみたこと

Android開発は久しぶりなので色々忘れてます。
もういろいろ変わりすぎてて浦島太郎状態みたいな感じ

Android10になったり、お菓子のコード名をやめたり・・・

なのでネット上の情報を頼りに試行錯誤して試してみました。

 

まず初めに試したのは次みたいなコード( onCreate  に記述)

一応これでも表示できます。でもなぜか広告が画面中央に・・・

▼ こんなアプリ公開したらリジェクト不可避

画面中央にバナー広告が表示されてしまった例。こんなアプリ公開したらリジェクト不可避

しかも広告以外のとこをタッチしても広告に飛んでしまう

仮にアプリ公開してたら、低評価1ばかりついて速攻でアプリ削除されるレベルです。

成功例 : FrameLayoutを使ったら上手くいった

それでいろいろ試した結果、、、、、

FrameLayout を使う方法が一番確実だと判明

コッチを使うとほぼ確実に中央下に表示できるはずです。(ただしレイアウトにもよる)

 

具体的には次みたいなコードです。

▼ 実際の広告表示コード例

このコードのポイントは次の2つ

  • FrameLayout.LayoutParamsを使うこと
    この gravity に対し、 Gravity.BOTTOM | Gravity.CENTER  を指定することで中央真下の表示になる
  • 高さを明示的に指定してること
    この例ではバナー(320x50)を表示したかったので、高さに dpi をかけていい具合に調整

こうすると予想通りに中央真下に表示できました!

▼ これでアプリ公開してもリジェクトされなさそう・・・

レイアウトなしでActivity中央下にバナー広告を表示してみた

あと広告以外の所を押したら広告ページに飛ぶような、詐欺アプリみたいな仕様も消えてます。

この件で思い出したのは、やっぱり「アプリ開発って楽しいけど大変」 ということ

昔やってたとはいえ、しばらくやめてると色々忘れてますね。
これからこのブログでも忘れないようにメモし続けたいと思います。

ということで、ではではまた (^_^)/~