当前位置: 首页 > 知识库问答 >
问题:

如何在第二次点击时显示插屏广告?

呼延鸿畅
2023-03-14

任何人都知道当用户第二次单击按钮时如何显示间隙广告。我的意思是,当用户单击一次按钮时,广告不应出现,但每当用户再次单击同一按钮时,广告必须显示。。

public class MainActivity extends AppCompatActivity {


Toolbar toolbar;
ShowInterstitial showInterstitial;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    showInterstitial = new ShowInterstitial(this);
    getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
    getSupportActionBar().setCustomView(R.layout.app_bar);

    /*toolbar = findViewById(R.id.app_bar);
    toolbar.setTitle("hell");
    toolbar.*/

}
int counter = 0;
public void onClick(View view) {

    if(view.getId() == R.id.ll1 ) {


        counter++;
        if (counter == 2) {
            counter = 0;
            Intent intent = new Intent(this, AggregatesActivity.class);
            startActivity(intent);
            if (showInterstitial != null && ShowInterstitial.isLoaded())
                showInterstitial.showInterstitial();
        }

    }

这里显示了我在不同活动中调用的中间代码

    public class ShowInterstitial {

    private InterstitialAd mInterstitialAd;
    private Context context;
    private boolean isAddReplace = false;

    public ShowInterstitial(Context context) {
        this.context = context;
        mInterstitialAd = newInterstitialAd(context);
        loadInterstitial();
    }

    private InterstitialAd newInterstitialAd(final Context context) {
        InterstitialAd interstitialAd = new InterstitialAd(context);
        /*if (!isAddReplace)
            interstitialAd.setAdUnitId(context.getString(R.string.interstitial_one));*/

            interstitialAd.setAdUnitId(context.getString(R.string.interstitial_one));
        interstitialAd.setAdListener(new AdListener() {
            @Override
            public void onAdLoaded() {
                isAddReplace = !isAddReplace;
            }

            @Override
            public void onAdFailedToLoad(int errorCode) {
            }

            @Override
            public void onAdClosed() {
                goToNextLevel();
            }
        });
        return interstitialAd;
    }

    public boolean showInterstitial() {
        if (mInterstitialAd != null && mInterstitialAd.isLoaded()) {
            mInterstitialAd.show();
        } else {
            goToNextLevel();
        }
        return false;
    }

    public void loadInterstitial() {
        // Disable the next level button and load the ad.
        AdRequest adRequest = new AdRequest.Builder()
                .setRequestAgent("android_studio:ad_template").build();
        mInterstitialAd.loadAd(adRequest);
    }

    private void goToNextLevel() {
        // Show the next level and reload the ad to prepare for the level after.

        mInterstitialAd = newInterstitialAd(context);
        loadInterstitial();
    }


}

共有2个答案

沈树
2023-03-14

如何显示在Android的第二次点击插屏广告?

您可以使用变量并基于该变量管理单击事件

示例:当用户单击按钮时,取一个值大于内部值的布尔变量,检查布尔变量是否为真,表示首次单击按钮时使用,并将布尔变量的值更改为假

示例代码

取一个布尔变量

boolean isFirstTimeClick=true;

现在,让您的“ClickListener”如下所示

    imageView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            if(isFirstTimeClick){
                isFirstTimeClick=false;
                Toast.makeText(PicturePreviewActivity.this, "First Time Click", Toast.LENGTH_SHORT).show();
            }else {
                isFirstTimeClick=true;
                Toast.makeText(PicturePreviewActivity.this, "Second Time Click", Toast.LENGTH_SHORT).show();
            }
        }
    });
孙正业
2023-03-14

@Sufyan Hashmi您需要一个int变量,每当值为2时,它的值将在每次单击时增加。您应该调用load Inrestial ad并将变量的值指定为零。

 int counter = 0;

 if(view.getId()==R.id.ll1)

    {
        counter++;
        if (counter == 2) {
            counter = 0;
            Intent intent = new Intent(this, AggregatesActivity.class);
            startActivity(intent);
            if (showInterstitial != null && showInterstitial.isLoaded())
                showInterstitial.showInterstitial();
        }

    }
 类似资料:
  • 我正在使用React-useState钩子更新状态。单击表单提交按钮时,状态直到第二次单击才更新。我相信我需要使用useffect,但不确定如何使用onClick实现。

  • 我正在制作井字游戏应用程序,第一次点击按钮后,它会得到“O”或“X”文本,我想避免第二次点击,就像我想让它免受第二次点击一样 到目前为止,我得到了这个,

  • 我为youtube播放器创建了一个自定义布局.. 谁能帮我解决这个问题。

  • 在这个图像中有8个按钮。现在我在这个应用程序上使用测试广告单元。这个活动我有8个按钮,每个按钮都与有针对性的活动相联系。我的问题是,当我单击这8个按钮中的任何按钮时,它会显示admob插播广告并发送到目标活动,但当我关闭目标活动并再次返回main_activity并单击这8个按钮中的任何按钮时,admo插播广告不会显示,但在按钮上单击它会打开目标活动。我想在每次点击按钮时显示广告插播广告。这是怎么

  • 我计划在我的应用程序中添加AdMob间隙广告。一切正常,但我想改变动画广告的外观。默认情况下,ad单元从下向上显示。我想更改动画以溶解或完全关闭它。有这样的机会吗? 我拥有的: > 对象 @接口GadInterstival:NSObject 显示方法: (false)呈现FromRootViewController:(nonnull UIViewController*)rootViewContro

  • 问题内容: 我正在开发我的第一个android计算器应用程序。我陷入一个单一的缺陷。我添加了几个按钮,然后单击这些按钮,它将把各自的文本放在“ 字段”上。主要问题描述如下:在运行项目时,必须单击两次按钮才能将相应的文本首次放置在字段上。例如,单击时将“ 1”放在字段上。在运行时,首先单击该按钮无效。仅在第二次单击时,它将“ 1”放在字段上。 该守则如下: XML按钮和EditField, Main