Android空白屏幕中的Adfonic全广告

时间:2012-08-30 13:20:50

标签: android ads

使用上一个Adfonic Sdk和Android指南:http://developer.adfonic.com/index.php/Android_SDK

我为我的应用创建了两个广告位(http://adfonic.com/sites-and-apps/ad-integration),正常的文字链接横幅广告和完整广告。

当我按照指南测试简单的情况时,我会在屏幕上看到简单的横幅而不是完整横幅。

我的代码如下:

main.xml中

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

   <com.adfonic.android.AdfonicView
       xmlns:adfonic="http://schemas.android.com/apk/lib/com.adfonic.android"
       android:id="@+id/adfonicView"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       adfonic:adfonic_adslot_id="AD_SLOT_ID"
       adfonic:language="en"
       adfonic:refresh_ad="true"
       adfonic:refresh_time="30" />

</RelativeLayout>

MainActivity.java

public class MainActivity extends Activity {

private final static String TAG = "Testing";

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    AdfonicView adView = (AdfonicView) findViewById(R.id.adfonicView);

    adView.setAdListener(new AdListener() {

        @Override
        public void onReceivedAd() {
            Log.d(TAG, "AdListener onReceivedAd()");

        }

        @Override
        public void onPresentScreen() {
            Log.d(TAG, "AdListener onPresentScreen()");

        }

        @Override
        public void onNoFill() {
            Log.d(TAG, "AdListener onNoFill()");

        }

        @Override
        public void onNetworkError() {
            Log.d(TAG, "AdListener onNetworkError()");

        }

        @Override
        public void onLeaveApplication() {
            Log.d(TAG, "AdListener onLeaveApplication()");

        }

        @Override
        public void onInvalidRequest() {
            Log.d(TAG, "AdListener onInvalidRequest()");

        }

        @Override
        public void onInternalError() {
            Log.d(TAG, "AdListener onInternalError()");

        }

        @Override
        public void onDismissScreen() {
            Log.d(TAG, "AdListener onDismissScreen()");

        }

        @Override
        public void onClick() {
            Log.d(TAG, "AdListener onClick()");

        }
    });
}}

在Log中,我使用普通横幅获取了回调“onReceivedAd()”和“onPresentScreen()”,但是当全屏广告时,只调用了“onReceivedAd()”。白屏仍然存在。

横幅请求的响应也显示在Log中,并且在两种情况下都是正确的。

感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

需要放置一个:

@Override
public void onReceivedAd() {

adView.showInterstitial(); // <—show the ad
} 

由于广告是插页式广告并且全屏显示,因此需要强制执行 显示器。

请告诉我这是否适合您。