2

最後のAdfonicSdkとAndroidガイドの使用:http://developer.adfonic.com/index.php/Android_SDK

アプリ用に2つのスロットを作成しました(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()");

        }
    });
}}

ログでは、通常のバナーでコールバック「onReceivedAd()」と「onPresentScreen()」が発生しますが、フルスクリーン広告の場合は「onReceivedAd()」のみが呼び出されます。そして、白い画面が残ります。

バナーリクエストへの応答はログにも表示され、どちらの場合も正しいです。

どんな助けでも大歓迎です。

4

1 に答える 1

2

以下を配置する必要があります。

@Override
public void onReceivedAd() {

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

広告はインタースティシャルで全画面表示になるため、強制的に表示する必要があります。

これがあなたのために働くかどうか私に知らせてください。

于 2012-09-10T10:36:52.020 に答える