Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/198.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android如何让Inneractive广告发挥作用?_Android_Ads - Fatal编程技术网

Android如何让Inneractive广告发挥作用?

Android如何让Inneractive广告发挥作用?,android,ads,Android,Ads,我正在我的应用程序的后期阶段,我想知道我应该如何让广告发挥作用。我试过他们的教程,虽然我的连接在Galaxy S II上是一个完美的6条,但它并没有显示广告。我在引用的库中有inneractive和support jar。以下是我正在使用的代码: package com.ads; import com.inneractive.api.ads.InneractiveAd; import java.util.Hashtable; import android.app.Activity; impor

我正在我的应用程序的后期阶段,我想知道我应该如何让广告发挥作用。我试过他们的教程,虽然我的连接在Galaxy S II上是一个完美的6条,但它并没有显示广告。我在引用的库中有inneractive和support 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();
    }

} 
package.com.ads;
导入com.inneractive.api.ads.InneractiveAd;
导入java.util.Hashtable;
导入android.app.Activity;
导入android.app.AlertDialog;
导入android.content.BroadcastReceiver;
导入android.content.Context;
导入android.content.DialogInterface;
导入android.content.Intent;
导入android.content.IntentFilter;
导入android.os.Bundle;
导入android.support.v4.content.LocalBroadcastManager;
导入android.view.view;
导入android.view.view.OnClickListener;
导入android.widget.Button;
导入android.widget.LinearLayout;
公共类活动扩展了活动{
线性布局线性;
按钮间隙;
Hashtable元数据=新的Hashtable();
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
//可选参数
metaData.put(InneractiveAd.IaOptionalParams.Key_性别,“F”);
put(InneractiveAd.IaOptionalParams.Key_关键字,“运动,时尚”);
//接收活动广告事件
LocalBroadcastManager.getInstance(this.registerReceiver)(mMessageReceiver,newintentFilter(“InneractiveAd”);
线性=新的线性布局(本);
线性。设置方向(线性布局。垂直);
//间隙式广告按钮
InterstitualBTN=新按钮(此按钮);
填隙性ad;
InterstitualBTN.setWidth(getWindowManager().getDefaultDisplay().getWidth());
InterstitualBTN.setOnClickListener(新的OnClickListener(){
公共void onClick(视图arg0){
//显示间隙广告
if(!InneractiveAd.displayAd(AdsActivity.this,线性,“Android_IA_测试”,InneractiveAd.IaAdType.interstitual,0,AdsActivity.this.metaData))
无连接();
}
});
//展示横幅广告
if(!InneractiveAd.displayAd(AdsActivity.this,线性,“Android_IA_测试”,InneractiveAd.IaAdType.Banner,120,AdsActivity.this.metaData))
无连接();
线性。添加视图(中间层BTN);
setContentView(线性);
}
公共无效无连接性(){
AlertDialog AlertDialog=新建AlertDialog.Builder(AdsActivity.this.create();
setTitle(“此应用程序是免费的,但需要internet连接”);
alertDialog.setMessage(“请配置连接设置并重试”);
alertDialog.setButton(“退出”,新建DialogInterface.OnClickListener()){
public void onClick(DialogInterface dialog,int which){
dialog.dismise();
onBackPressed();
} });
alertDialog.show();
}
private BroadcastReceiver mMessageReceiver=新的BroadcastReceiver(){
@凌驾
公共void onReceive(上下文、意图){
/*接收inneractive ad事件。可以是以下事件之一-
*IaAdReceived-在收到新的付费广告并即将显示时调用。
*IADefaultAddressReceived-在接收到新的默认广告并即将显示时调用。
*IaAdFailed-当Ad请求无法获取Ad时调用。
*IaAdClicked-当广告单击时调用。
*IaAdResize-调整广告大小时调用。
*IaAdResizeClosed-在广告大小调整关闭时调用。
*IaAdExpand—在广告展开时调用。
*IaAdExpandClosed-在Ad展开关闭时调用。
*/
字符串消息=intent.getStringExtra(“消息”);
}
};
@凌驾
受保护的空onDestroy(){
//取消注册事件,因为活动即将关闭。
LocalBroadcastManager.getInstance(this).unregisterReceiver(mMessageReceiver);
super.ondestory();
}
} 

任何帮助都将不胜感激。

我没有真正与您提到的广告提供商合作过,但我与另一家合作过。这里有一些你可以做的事情

  • 检查你在接收广告时是否成功/失败。通常他们有你可以使用的听众

  • 还可以尝试用xml制作一个空布局,并将广告放在其中,而不是以编程的方式进行

  • 如果他们有自己的活动,您可以在其中显示广告,请先尝试

  • 还有一件事。先做一个setContentView(),然后添加广告。按照您现在的方式尝试一次。进行线性布局,设置ContentView,然后添加View()。如果这不起作用,请尝试xml方法


  • 我没有真正与你提到的广告提供商合作,但我与另一家合作过。这里有一些你可以做的事情

  • 检查你在接收广告时是否成功/失败。通常他们有你可以使用的听众

  • 还可以尝试用xml制作一个空布局,并将广告放在其中,而不是以编程的方式进行

  • 如果他们有自己的活动,您可以在其中显示广告,请先尝试

  • 还有一件事。先做一个setContentView(),然后添加广告。按照您现在的方式尝试一次。进行线性布局,设置ContentView,然后添加View()。如果这不起作用,请尝试xml方法


  • 谢谢,这个问题对我来说是个愚蠢的举动,但这是一个很好的完整答案,接受并向上投票。谢谢,这个问题对我来说是个愚蠢的举动,但这是一个很好的完整答案,接受并向上投票。