简体   繁体   中英

android - showing rewarded video ads after click list

I have a list of items at homepage and when clicked will go to the activity detail. Before that I want to add Rewarded Video Ads , but with a limit after the user 3x click on the item list the ads will appear. Any suggestions for making it like that? or Similar features of Shared Preferences maybe?

UPDATE: I have try to run with below code, but this does not count every list that is clicked..

class ViewHolder extends RecyclerView.ViewHolder {
        private TextView tvTitle;
        private LinearLayout rowLayout;

        ViewHolder(View itemView, final Context ctx) {
            super(itemView);
            mContext = ctx;
            tvTitle = itemView.findViewById(R.id.tvTitle);
            rowLayout = itemView.findViewById(R.id.rowLayout);

               itemView.setOnClickListener(new View.OnClickListener() {
               int clickCount = 1;
                    @Override
                    public void onClick(View v){
                        if(clickCount > 3) {

                          if(mRewardedVideoAd.isLoaded()){
                            mRewardedVideoAd.show();
                        }
                            clickCount = 0;
                        } else {

                            clickCount++;
                        Intent intent = new Intent(mContext, DetailsActivity.class);
                        intent.putExtra("title", dataList.get(getAdapterPosition()));
                        intent.putExtra("preview", previewList.get(getAdapterPosition()));
                        ctx.startActivity(intent);

                        }
                    }
                  }
                 }
                });

It should apply to all every clicked lists, not just for the list per item counted.

Updated:

itemView.setOnClickListener(new View.OnClickListener() {

                    @Override
                    public void onClick(View v){
int clickCount = mPreference.getInt("count",0);
                        if(clickCount > 3) {

                          if(mRewardedVideoAd.isLoaded()){
                            mRewardedVideoAd.show();

                        }
                             mPreference.edit().remove("count").apply();

                        } else {

                            clickCount++;
mPreference.edit().putInt("count",clickCount).apply();
                        Intent intent = new Intent(mContext, DetailsActivity.class);
                        intent.putExtra("title", dataList.get(getAdapterPosition()));
                        intent.putExtra("preview", previewList.get(getAdapterPosition()));
                        ctx.startActivity(intent);

                        }
                    }
                  });

Why don't you use custom interface in your ViewHolder class rather than doing this !

Try to use this code :

     Button button = findViewById(R.id.button_id);
     int click = 0 ;
     button.setOnClickListener(new View.OnClickListener() {
         public void onClick(View v) {
            if(click > 3){
            //show ads
            }else{
             click++ ;
            }
         PreferenceManager.getDefaultSharedPreferences(MainActivity.this)
        .edit().putString(key, value).apply();

         }
     });

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM