2

なぜこれが起こっているのか分かりません、そしてそれは私を怒らせています。簡単に言えば、私がMoPubを介して使用するすべての広告ネットワークの中で、AdMobは十分なスペースがないと主張して、広告を表示しない唯一のネットワークのようです。MoPubには、電話広告ユニットとタブレット広告ユニットがあります。特定のログは次のとおりです。

02-10 09:44:44.094: I/Ads(9363): Request scenario: Online server request.
02-10 09:44:50.114: D/webviewglue(9363): nativeDestroy view: 0x678b8418
02-10 09:44:50.124: I/Ads(9363): onReceiveAd()
02-10 09:44:50.124: D/MoPub(9363): Google AdMob load succeeded. Showing ad...
02-10 09:44:50.124: D/MoPub(9363): adLoaded
02-10 09:44:50.124: D/MoPub(9363): Tracking impression for native adapter.
02-10 09:44:50.144: W/Ads(9363): Not enough space to show ad! Wants: <969, 119>, Has: <800, 1073741823>
02-10 09:44:50.144: W/Ads(9363): Not enough space to show ad! Wants: <969, 119>, Has: <800, 1073741823>

広告は読み込まれますが、より多くのスペースが必要なため表示されません。バナー広告のみを表示したい。Nexus7でテストしています。

私が使用している他のネットワークは、LeadBoltとMillennialです。同じスペースにバナー広告をうまく表示します。

表示する広告ユニットを選択するための私のJavaコード(画面サイズに基づいて電話またはタブレット):

    //Advert if statement
    Configuration config = getResources().getConfiguration();

            if ((config.screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) ==
                            Configuration.SCREENLAYOUT_SIZE_LARGE) {
                    //Tablet
                    mAdViewTabletLarge = (MoPubView) findViewById(R.id.LargeAdvert);
                            mAdViewTabletLarge.setAdUnitId("id here");
                            mAdViewTabletLarge.setVisibility(Application.getAdVisibiltyForEdition(this.getApplicationContext()));
                            mAdViewTabletLarge.loadAd();
            }
            else if ((config.screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) ==
                                    Configuration.SCREENLAYOUT_SIZE_XLARGE) {
                    //Tablet
                    mAdViewTabletXLarge = (MoPubView) findViewById(R.id.LargeAdvert);
                            mAdViewTabletXLarge.setAdUnitId("id here");
                            mAdViewTabletXLarge.setVisibility(Application.getAdVisibiltyForEdition(this.getApplicationContext()));
                            mAdViewTabletXLarge.loadAd();
            }
            else {
                    //Phone
                    mAdViewPhone = (MoPubView) findViewById(R.id.LargeAdvert);
                            mAdViewPhone.setAdUnitId("id here");
                            mAdViewPhone.setVisibility(Application.getAdVisibiltyForEdition(this.getApplicationContext()));
                            mAdViewPhone.loadAd();
            }

誰かが何が起こっているのかについて何か手がかりを得ましたか?

4

4 に答える 4

3

Nexus 7でも同じ問題が発生します。現在、Eclipse Juno、サービスリリース1を使用しています。このバージョンでは、xmlレイアウトファイルに@dimension/...参照が自動的に追加されます。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   ...
   ...
   android:paddingBottom="@dimen/activity_vertical_margin"
   android:paddingLeft="@dimen/activity_horizontal_margin"
   android:paddingRight="@dimen/activity_horizontal_margin"
   android:paddingTop="@dimen/activity_vertical_margin"
   ...
   ...

@ dimension / ...参照を削除すると、エラーが消え、広告が表示されます。エラーを上書きし、@ dimension/...パラメータ内に広告を表示できるようにするトリックがあるかどうかわからない。誰か知っているなら、シェアしてください!

于 2013-05-24T00:14:16.167 に答える
1

幅がわずか600dpのポートレートモードのNexus7では、728x90 dpの広告が大きすぎるため、エラーが発生します。アスペクト比を維持するために高さを縮小しない限り、他のネットワークが728x90の画像を600x90に収める方法を想像することはできません。AdMobはそのような広告を拡大縮小せず、代わりにこの警告をスローします。

タブレット広告は1つのサイズしかできないというMopubの制限のように聞こえます。私はMopubフロントエンドの設定に精通していませんが、7インチタブレット用に小さいサイズの2つ目の広告を作成し、実行時に画面幅をチェックして、表示する広告を決定することができます。

于 2013-02-11T23:26:56.500 に答える
1

MoPubで320x50の広告ユニットと728x90の広告ユニットを作成し、デバイスの幅を検出してから、デバイスの幅に応じて条件付きでそれらを起動する必要があります。

画面幅が728ピクセル未満の場合は、320x50の広告ユニットを起動します。

それより大きい場合は、リーダーボード広告ユニットを使用してください。

于 2013-02-12T23:31:13.717 に答える
1

このエラーの原因:

広告を表示しようとしているビューが親ビューから削除されます。必ず

 <LinearLayout
      android:id="@+id/layoutAdmobGame"
      android:layout_width="wrap_content"
      android:layout_height="52dp"
      android:layout_alignParentBottom="true"
      android:layout_alignParentLeft="true"
      android:layout_alignParentRight="true"
      android:background="@android:color/transparent"
      android:gravity="center_horizontal"
      android:orientation="vertical" >
</LinearLayout>

これは親ビュー内にあり、削除されていません

于 2014-07-11T05:19:19.217 に答える