7

現在、AdMob を Android ゲームに統合しています。

スマート バナーをフレームレイアウト ベースのレイアウトに統合するのは困難です。なぜなら、スマート バナーは異なるデバイスで異なる量の画面領域を占有するからです。

たとえば、Acer A500 (MDPI 1280x800) でスマート バナーを表示すると、1280x90px のサイズの 1 つが表示されますが、Nexus 7 では 1279x66px (TVDPI 1280x800) のスマート バナーが表示され、Galaxy Nexus (HDPI 1280x720) では 1 つが表示されます。 1196x64pxで。

AdMob のドキュメントによると、ドキュメントに記載されている値が dp であることを考えると、これは理解できる動作である可能性があります: https://developers.google.com/mobile-ads-sdk/docs/admob/smart-banners

ただし、この動作は私にとって大きな問題です。1200x800px の MDPI 画面で高さ 90px のスマート バナーは、HDPI 画面で高さ 64px のスマート バナーよりも多くの画面領域を占有するためです (以下のスクリーンショットを参照)。 .

それで、ここに私の質問があります: - スマート バナー用に少なくともどのくらいのスペースを確保する必要がありますか? - 似たようなことを試した人はいますか?どのように対処しましたか?

注: 残念ながら、framelayout とは異なるレイアウトを使用することは、現時点ではオプションではありません。さらに、XML レイアウトを使用して広告を統合することはできません。

よろしくお願いします、

ローレンツ

スクリーンショット:

http://imgur.com/qGAk77Y (A500)

4

2 に答える 2

1

レイアウトが xml で定義されている場合、画面サイズごとに 1 つのレイアウトを作成できます (layout-xlarge/mylayout.xml、layout-large/mylayout.xml、layout-normal/mylayout.xml など...)。

詳細はこちら: http://developer.android.com/guide/practices/screens_support.html

10.1 インチのタブレットの密度は中程度ですが、解像度が 480x850 の 4.3 インチのスマートフォンは高密度になるため、密度は考慮しないでください。代わりに画面サイズを使用します (xlarge large normal small)。

プログラムで行う必要がある場合は、次のようにして画面サイズを取得できます。

Configuration config = activity.getResources().getConfiguration();
int screenlayout = config.screenLayout;

比較するには、 Configuration.SCREENLAYOUT_xxx を使用します。

于 2016-01-18T07:01:34.620 に答える
0
  1. px で考えないでください。dp (密度に依存しないピクセル) の観点から考える
  2. 最大のスペースを予約します。たとえば、含まれているレイアウトを使用して 1280dp x 90pd で、内部に AdView を埋め込みます。
于 2013-07-29T22:04:06.883 に答える