2

アプリケーションに MobFox を実装しました。

2 つの問題があります。

  1. テスト モードでも、最初は広告の読み込みに失敗し (bannerLoadFailed)、その後表示されます (bannerLoadSucceeded)。これは onResume() メソッドが原因です。それがなければ、読み込みに失敗することはありません。なんで?

  2. 広告は表示されません。テストモードでは、エミュレーターと市場からのダウンロードの両方でテスト広告が表示されますが、ライブモードではnoAdFound()メソッドがアクティブになり、トーストに「MobFox 広告が見つかりません」と表示されます。ドキュメントによると

noAdFound は、現在、広告リクエストに使用できる広告がないことを意味します

私はハンガリー出身ですが、MobFox の本社があるオーストリアで友人がアプリをダウンロードしたので、オーストリアに広告リクエストがないのではないかと思います...

MobFox ダッシュボードには 3 つのインプレッションが表示されますが、テスト広告からのものかどうかはわかりません。それらが実際の広告からのものである場合、質問 2 は無視できますが、それでも友人が広告を表示できない理由はわかりません。

コードを見て、何が問題を引き起こしているのかを確認していただけますか (何かありますか)。

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
            MobFoxlayout = (RelativeLayout)findViewById(R.id.mobfoxContent);
            mobfoxView = new MobFoxView(Main.this, "211bcbf66f79c0355e43e849aec76b6c", Mode.LIVE, true, true);
            mobfoxView.setBannerListener(new BannerListener() {

            @Override
            public void bannerLoadFailed(RequestException cause) {
                Toast.makeText(getApplicationContext(), "Mobfox ad failed ", Toast.LENGTH_SHORT).show();
            }

            @Override
            public void noAdFound() {
                Toast.makeText(getApplicationContext(), "No MobFox ad Found", Toast.LENGTH_SHORT).show();
            }
            @Override
            public void bannerLoadSucceeded() {
                Toast.makeText(getApplicationContext(), "MobFox Ad loaded successfully", Toast.LENGTH_SHORT).show();    
            }

            @Override
            public void adClicked() {
                Toast.makeText(getApplicationContext(), "MobFox Ad clicked", Toast.LENGTH_SHORT).show();
            }
            });
            MobFoxlayout.addView(mobfoxView);
    }
    @Override
    protected void onResume() {  //ad fails to load
        super.onResume();
        mobfoxView.resume();
    }

    @Override
    protected void onPause() {
        super.onPause();
        mobfoxView.pause();
    }



@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
mobfoxView.pause();
mobfoxView.resume();
}
4

1 に答える 1

1

何が間違っていたのかわかりませんが、うまくいきます。他の人が助けるためにコード全体を投稿しています。このコードの大きな部分は、MobFox 広告が失敗したときに admob 広告を表示できたことです!

MobFox 広告をテスト モードに切り替えると、エミュレーターにテスト広告が表示されることが重要です。私の電話ではライブ広告もテスト広告も見たことがありませんが、MobFox ダッシュボードには多くのインプレッションが表示されます。admob の広告が表示されないこともあります。私の携帯ではよく見ていましたが、兄の携帯では一度も見たことがありませんでした。しかし、私が彼らから稼いでいることを考えると、彼らはそこにいます。

public class MainActivity extends Activity {

//MOBFOX----------------------------
private RelativeLayout rlayout;
private MobFoxView mobfoxView;

//ADMOB-----------------------------
private AdView adView;

@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main2);
final Handler updateHandler = new Handler();
        rlayout = (RelativeLayout) findViewById(R.id.mobfoxContent);
        mobfoxView = new MobFoxView(MainActivity.this, "37a12617ccdc6bd4bafdded4e8441bca", Mode.LIVE, false, false);
        mobfoxView.setBannerListener(new BannerListener() {
        @Override
        public void bannerLoadFailed(RequestException cause) {
            //Toast.makeText(getApplicationContext(), "MobFox failed", Toast.LENGTH_LONG).show();
              adView = new AdView(MainActivity.this, AdSize.BANNER, MY_AD_UNIT_ID);
              LinearLayout layout = (LinearLayout)findViewById(R.id.admobContent);
              layout.addView(adView);
              adView.loadAd(new AdRequest());

        }
        @Override
        public void noAdFound() {
            //Toast.makeText(getApplicationContext(), "MobFox noAd", Toast.LENGTH_LONG).show();
              adView = new AdView(MainActivity.this, AdSize.BANNER, MY_AD_UNIT_ID);
              LinearLayout layout = (LinearLayout)findViewById(R.id.admobContent);
              layout.addView(adView);
              adView.loadAd(new AdRequest());

        }
        @Override
        public void adClicked() {
            //Toast.makeText(getApplicationContext(), "MobFox clicked", Toast.LENGTH_LONG).show();
            // TODO Auto-generated method stub

        }
        @Override
        public void bannerLoadSucceeded() {
            //Toast.makeText(getApplicationContext(), "MobFox success", Toast.LENGTH_LONG).show();
            // TODO Auto-generated method stub

        }
        });

        mobfoxView.setVisibility(View.VISIBLE);
        mobfoxView.setOnClickListener(new android.view.View.OnClickListener(){

            @Override
            public void onClick(View v) {
                updateHandler.post(new Runnable() {
                    public void run() {
                        //Toast.makeText(getApplicationContext(), "MobFox clicked2", Toast.LENGTH_LONG).show();
                    }
                });

            }});


        rlayout.addView(mobfoxView);

}

    @Override
    protected void onDestroy() {

        if (adView != null) {
                adView.destroy();
        }
        super.onDestroy();
        //mManager.release();
    }
    @Override
    protected void onPause() {
        super.onPause();
        mobfoxView.pause();
    }

    @Override
    protected void onResume() {
        super.onResume();
        mobfoxView.resume();
    }
}

XML:

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/bg_selector"
    android:orientation="vertical" >

<!-- objects -->

     <LinearLayout 
        android:id="@+id/admobContent"
        android:layout_alignParentBottom="true"
        android:layout_width="fill_parent"
        android:layout_height="50dp">
    </LinearLayout>

   <RelativeLayout 
        android:id="@+id/mobfoxContent"
        android:layout_width="fill_parent"
        android:layout_height="50dp"
        android:layout_centerHorizontal="true"
        android:layout_alignParentBottom="true" />

</RelativeLayout>

そして、これらをすべてのレイアウト フォルダに忘れないでください。

于 2012-10-27T14:41:59.817 に答える