StartApp插页式广告未在onCreate中展示

时间:2013-10-31 18:52:12

标签: android ads interstitial

这是在onCreate:

@Override
protected void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    StartAppAd.init(this, "devID", "appID");
    setContentView(R.layout.activity_results);

    startAppAd.showAd();
    startAppAd.loadAd();
}           

它不显示广告,但如果我将其更改为:

@Override
protected void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    StartAppAd.init(this, "devID", "appID");
    setContentView(R.layout.activity_results);

    new Handler().postDelayed(new Runnable()
    {
        @Override
        public void run()
        {
            startAppAd.showAd();
            startAppAd.loadAd();
        }
    }, 2000);

}

有效。如何在广告准备就绪后立即展示广告?

3 个答案:

答案 0 :(得分:1)

我解决了这个问题,只需将loadAd();放在上一个活动的onCreate上,然后showAd();放在startIntent();之前。

答案 1 :(得分:1)

我在其他帖子中提到过,尝试将showAd()方法放在onReceiveAd()方法事件监听器的loadAd()中。

https://stackoverflow.com/a/31959288/3835769

答案 2 :(得分:1)

要显示启动应用广告,您必须按照以下步骤操作

首先声明启动应用ID

首先在gradle中添加此依赖关系

编译'com.startapp:inapp-sdk:3.6.6'

之后在您的代码中按照您需要的步骤进行操作

private StartAppAd startAppAd = new StartAppAd(this);

在oncreate方法中

    StartAppSDK.init(this, getString(R.string.startAppId), false);
    StartAppAd.disableSplash();

在字符串中,您必须传递开始应用ID

如果您想要显示启动,请不要禁用启动只删除第二行

如果您想在backpresses上显示startapp广告,请按照此步骤进行操作

@Override
public void onBackPressed() {


    StartAppAd.onBackPressed(this);

    ExitDialogue();

}
private void ExitDialogue() {
    AlertDialog.Builder builder = new AlertDialog.Builder(SampleActivity.this);
    builder.setTitle(R.string.account_balance);
    builder.setIcon(R.mipmap.ic_launcher);
    builder.setMessage("Do you want to exit?")
            .setCancelable(false)
            .setNeutralButton("More Apps", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int id) {
                    startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/developer?id=Future+App+Studio")));
                }
            })
            .setPositiveButton("Yes", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int id) {
                    SampleActivity.this.finish();
                    //finish();
                }
            })
            .setNegativeButton("No", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int id) {
                    dialog.cancel();
                }
            });
    AlertDialog alert = builder.create();
    alert.show();
}

如果您想在按钮点击时显示startapp interstital广告,或者在任何情况下您必须调用此方法:

 startAppAd.loadAd(new AdEventListener() {

            @Override

            public void onReceiveAd(Ad ad) {

                startAppAd.showAd(new AdDisplayListener() {

                    @Override
                    public void adHidden(Ad ad) {
                       //implement your code here
                    }

                    @Override
                    public void adDisplayed(Ad ad) {

                    }

                    @Override
                    public void adClicked(Ad arg0) {

                    }


                    @Override
                    public void adNotDisplayed(Ad arg0) {
                        //implement your code here

                    }
                });


            }

            @Override

            public void onFailedToReceiveAd(Ad ad) {
                //implement your code here

            }


        });