使用上一个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中,并且在两种情况下都是正确的。
感谢任何帮助。
答案 0 :(得分:2)
需要放置一个:
@Override
public void onReceivedAd() {
adView.showInterstitial(); // <—show the ad
}
由于广告是插页式广告并且全屏显示,因此需要强制执行 显示器。
请告诉我这是否适合您。