Реклама Mobfox не проходит и не показывает рекламу
Я реализовал MobFox в своем приложении.
У меня две проблемы.
Даже в тестовом режиме сначала не удается загрузить объявление (bannerLoadFailed), а затем я вижу его (bannerLoadSucceeded). Это вызвано методом onResume(). Без этого нет проблем при загрузке. Зачем?
Он не показывает никакой рекламы. В тестовом режиме показывается тестовое объявление, как в эмуляторе, так и при загрузке с маркета, но в режиме реального времени
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>
И не забывайте об этом во всех папках макетов!