Реклама Mobfox не проходит и не показывает рекламу

Я реализовал MobFox в своем приложении.

У меня две проблемы.

  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();
}

1 ответ

Решение

Я не знаю, что случилось, но это работает. Я публикую весь код для других, чтобы помочь. Самое замечательное в этом коде - то, что мне удалось показать рекламу AdMob, когда реклама MobFox провалилась!

Важно, что если вы переключите рекламу 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>

И не забывайте об этом во всех папках макетов!

Другие вопросы по тегам