質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Q&A

解決済

1回答

576閲覧

Admob広告サイズ指定

sache

総合スコア7

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

0グッド

0クリップ

投稿2017/09/21 19:50

編集2017/09/21 19:56

###前提・実現したいこと
AndroidStudioにてAdmobの広告を指定のサイズで使用する。
(LinearLayout内に広告を入れLinearLayout全体の表示)

###発生している問題・エラーメッセージ

広告を指定サイズ表示ができない。

###該当のソースコード

Java

1LinearLayout adViewLay = (LinearLayout) findViewById(R.id.adViewLay); 2NativeExpressAdView adView = new NativeExpressAdView(this); 3adView.setAdSize(new AdSize(AdSize.FULL_WIDTH, AdSize.AUTO_HEIGHT)); 4adView.setAdUnitId("広告ID"); 5AdRequest.Builder adRequestBuilder = new AdRequest.Builder(); 6adRequestBuilder.addTestDevice(AdRequest.DEVICE_ID_EMULATOR); 7adViewLay.addView(adView); 8adView.loadAd(adRequestBuilder.build());

###試したこと
・広告の表示
・SMART_BUNNERなどの使用などによる広告表示(縦幅が調整できない)

###疑問
・NativeExpressAdViewを使用する場合は広告IDのフォーマットはネイティブのみでBUNNERだと使用できないのでしょうか?

・上記のNativeExpressAdViewを使用せずLinearLayoutなどの指定した範囲全体に表示できるものは存在するのでしょうか?

###補足情報(言語/FW/ツール等のバージョンなど)
開発環境:AndroidStudio2.3.3
言語:Java

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

PublisherAdView を使うと広告サイズを変更できます
MEDIUM_RECTANGLEのように決め打ちでの中サイズの広告もあります

AdSize customAdSize = new AdSize(250, 250); PublisherAdView adView = new PublisherAdView(this); adView.setAdSizes(customAdSize);

リンク内容

動的にLinearLayoutの高さを取得して広告サイズに入れるような設定で行けそうではありますが

追記:

public void onWindowFocusChanged(boolean hasFocus) { super.onWindowFocusChanged(hasFocus); adMobView = new PublisherAdView(this); adMobView.setAdUnitId(AdUnitID); float scale = getResources().getDisplayMetrics().density; layoutWidth =(int)(layout.getWidth()/scale); layoutHeight =(int)(layout.getHeight()/scale); customAdSize = new AdSize(layoutWidth, layoutHeight); adMobView.setAdSizes(customAdSize); layout.addView(adMobView); adRequest = new PublisherAdRequest.Builder().build(); adMobView.loadAd(adRequest); }

イメージ説明

投稿2017/09/23 00:29

編集2017/09/25 04:16
aja

総合スコア3733

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sache

2017/09/24 23:41

public void onWindowFocusChanged(boolean hasFocus) { super.onWindowFocusChanged(hasFocus); Log.v(TAG, "onWindowFocusChanged"); PublisherAdView adView = new PublisherAdView(this); LinearLayout adViewLay = (LinearLayout) findViewById(R.id.adViewLay); AdSize customAdSize = new AdSize(adViewLay.getWidth(), adViewLay.getHeight()); adView.setAdSizes(customAdSize); adView.setAdUnitId("広告id"); PublisherAdRequest.Builder publisherAdRequestBuilder = new PublisherAdRequest.Builder(); publisherAdRequestBuilder.addTestDevice(PublisherAdRequest.DEVICE_ID_EMULATOR); adViewLay.addView(adView); adView.loadAd(publisherAdRequestBuilder.build()); } 色々試してみたのですが上記ようにLinearLayoutのサイズを取ってきて値を渡すと広告が表示されません SMART_BANNERだと表示はされるので何か値を取ってくる方法などがおかしいのでしょうか? ご指摘あればお願いします。
aja

2017/09/25 04:17

spec AdSize(int width, int height) なんですが dpですね
sache

2017/09/25 10:50

public void onWindowFocusChanged(boolean hasFocus) { super.onWindowFocusChanged(hasFocus); Log.v(TAG, "onWindowFocusChanged"); PublisherAdView adView = new PublisherAdView(this); LinearLayout adViewLay = (LinearLayout) findViewById(R.id.adViewLay); float scale = getResources().getDisplayMetrics().density; int layoutWidth =(int)(adViewLay.getWidth()/scale); int layoutHeight =(int)(adViewLay.getHeight()/scale); AdSize customAdSize = new AdSize(layoutWidth, layoutHeight); adView.setAdSizes(customAdSize); adView.setAdUnitId("広告id"); PublisherAdRequest.Builder publisherAdRequestBuilder = new PublisherAdRequest.Builder(); publisherAdRequestBuilder.addTestDevice(PublisherAdRequest.DEVICE_ID_EMULATOR); adViewLay.addView(adView); adView.loadAd(publisherAdRequestBuilder.build()); } 広告表示無事できました。 pxとdpと渡す引数が違ったんですね;; 少し解像度のほうも勉強してみます。 ありがとうございました。 以降も質問することがあると思いますが、よろしければご回答お願いします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問