Android-Как заставить Inneractive рекламу работать?

Я нахожусь на более поздних стадиях своего приложения, и мне интересно, как я должен заставить Inneractive объявление работать. Я попробовал их учебник, и он не отображает рекламу, несмотря на тот факт, что у меня на Galaxy Galaxy S II прекрасные 6 тактов. У меня есть как inneractive, так и jar поддержки в ссылочных библиотеках. Вот код, который я использую:

package com.ads;

import com.inneractive.api.ads.InneractiveAd;
import java.util.Hashtable;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.support.v4.content.LocalBroadcastManager;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.LinearLayout;
public class AdsActivity extends Activity {
    LinearLayout linear;
    Button interstitialBtn;
    Hashtable<InneractiveAd.IaOptionalParams, String> metaData = new Hashtable<InneractiveAd.IaOptionalParams, String>();

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        // Optional parameters
        metaData.put(InneractiveAd.IaOptionalParams.Key_Gender, "F");
        metaData.put(InneractiveAd.IaOptionalParams.Key_Keywords, "sports,fashion");

        // Receive inneractive ad events
        LocalBroadcastManager.getInstance(this).registerReceiver(mMessageReceiver, new IntentFilter("InneractiveAd"));

        linear = new LinearLayout(this);
        linear.setOrientation(LinearLayout.VERTICAL);

        // Interstitial ad button
        interstitialBtn = new Button(this);
        interstitialBtn.setText("Interstitial ad");
        interstitialBtn.setWidth(getWindowManager().getDefaultDisplay().getWidth());

        interstitialBtn.setOnClickListener(new OnClickListener(){ 
            public void onClick(View arg0) {
                // Display interstitial ad
                if (!InneractiveAd.displayAd(AdsActivity.this, linear, "Android_IA_Test", InneractiveAd.IaAdType.Interstitial, 0, AdsActivity.this.metaData))
                    noConnectivity();
            }
            });

        // Display banner ad
        if (!InneractiveAd.displayAd(AdsActivity.this, linear, "Android_IA_Test", InneractiveAd.IaAdType.Banner, 120, AdsActivity.this.metaData))
            noConnectivity();
        linear.addView(interstitialBtn);

        setContentView(linear);
    }

    public void noConnectivity() {
        AlertDialog alertDialog = new AlertDialog.Builder(AdsActivity.this).create();
        alertDialog.setTitle("This application is free but requires an internet connection");
        alertDialog.setMessage("Please configure your connectivity settings and re-try");
        alertDialog.setButton("Exit", new DialogInterface.OnClickListener() {
              public void onClick(DialogInterface dialog, int which) {
                  dialog.dismiss();
                  onBackPressed();
            } });
        alertDialog.show();
    }

    private BroadcastReceiver mMessageReceiver = new BroadcastReceiver() {

        @Override
        public void onReceive(Context context, Intent intent) {

            /* Receive the inneractive ad event. Can be one of the following events -
             * IaAdReceived - Called when a new paid Ad has been received and is about to be displayed.
             * IaDefaultAdReceived - Called when a new default Ad has been received and is about to be displayed.
             * IaAdFailed - Called when an Ad request fails to get an Ad.
             * IaAdClicked - Called when an Ad clicked.
             * IaAdResize - Called when an Ad resized.
             * IaAdResizeClosed - Called when an Ad resize closed.
             * IaAdExpand - Called when an Ad expanded.
             * IaAdExpandClosed - Called when an Ad expand closed.
             */
            String message = intent.getStringExtra("message");
        }
    };

    @Override
    protected void onDestroy() {
      // Unregister events since the activity is about to be closed. 
      LocalBroadcastManager.getInstance(this).unregisterReceiver(mMessageReceiver);
      super.onDestroy();
    }

} 

Любая помощь будет принята с благодарностью.

1 ответ

Решение

Я не очень работал с тем провайдером рекламы, которого вы упомянули, но я работал с другим. Вот несколько вещей, которые вы могли бы сделать.

  1. Убедитесь, что вы получаете успех / неудачу в получении объявления. Обычно у них есть свои слушатели, которых вы можете использовать.

  2. Также попробуйте создать пустой макет в формате XML и поместить в него свое объявление, а не делать это на лету программно.

  3. Если у них есть свои действия, в которых вы можете показывать рекламу, попробуйте сначала.

  4. Еще кое-что. Сначала выполните setContentView(), а затем добавьте объявление. Попробуйте один раз с тем, как вы делаете. Сделайте линейное расположение, setcontentview и затем addview(). Если это не работает, попробуйте метод xml.

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