Как реализовать Interstitial Admob на RecycleView - PullRequest
0 голосов
/ 14 декабря 2018

На самом деле я ищу внедрить Admob в RecycleView, чтобы при выборе изображения из списка показывать промежуточную рекламу перед переходом к следующему действию ??Как определить InterstitialAd на классе адаптера?Любое решение ??

class imageViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener{
    ImageView images;
    RelativeLayout relativeLayout;
    Context mtcx;

    ArrayList<Images> img=new ArrayList<Images>();
    public imageViewHolder(@NonNull View itemView,Context mctx,ArrayList<Images> img ) {
        super(itemView);
        this.mtcx=mctx;
        this.img=img;
        images=(ImageView) itemView.findViewById(R.id.imageView);
        itemView.setOnClickListener(this);
       MobileAds.initialize(mctx, "ca-app-pub-3940256099942544~3347511713");
        interstitialAd = new InterstitialAd(mctx);

        interstitialAd.setAdUnitId("ca-app-pub-3940256099942544/1033173712");

        interstitialAd.setAdListener(new AdListener() {
            @Override
            public void onAdClosed() {
                intent();
            }
        });         
    }

Ответы [ 2 ]

0 голосов
/ 14 декабря 2018

1- Создайте промежуточную рекламу:

 MobileAds.initialize(context, "ca-app-pub-3940256099942544~3347511713");
            final InterstitialAd mInterstitialAd = new InterstitialAd(context);
            mInterstitialAd.setAdUnitId("ca-app-pub-3940256099942544/1033173712");
            mInterstitialAd.loadAd(new AdRequest.Builder().build());

2 - добавьте рекламные события для перехода к следующей активности после закрытия объявления:

mInterstitialAd.setAdListener(new AdListener() {
                @Override
                public void onAdClosed() {
                    context.startActivity(new Intent(context, NextActivity.class));
                }
            });

3 - установите прослушиватель по щелчку для показаРекламное объявление после клика по изображению:

images.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    if(mInterstitialAd.isLoaded()){
                        mInterstitialAd.show();
                    }else{
                        context.startActivity(new Intent(context, NextActivity.class));
                    }
                }
            });

наконец ваш код будет выглядеть так:

class imageViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener{
    ImageView images;
    RelativeLayout relativeLayout;
    Context mtcx;

    ArrayList<Images> img=new ArrayList<Images>();
    public imageViewHolder(@NonNull View itemView,Context mctx,ArrayList<Images> img ) {
        super(itemView);
        this.mtcx=mctx;
        this.img=img;
        images = (ImageView) itemView.findViewById(R.id.imageView);

        MobileAds.initialize(context, "ca-app-pub-3940256099942544~3347511713");
        final InterstitialAd mInterstitialAd = new InterstitialAd(context);
        mInterstitialAd.setAdUnitId("ca-app-pub-3940256099942544/1033173712");
        mInterstitialAd.loadAd(new AdRequest.Builder().build());
        mInterstitialAd.setAdListener(new AdListener() {
            @Override
            public void onAdClosed() {
                context.startActivity(new Intent(context, NextActivity.class));
            }
        });
        images.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if(mInterstitialAd.isLoaded()){
                    mInterstitialAd.show();
                }else{
                    context.startActivity(new Intent(context, NextActivity.class));
                }
            }
        });
    }

надеюсь, это поможет вам

0 голосов
/ 14 декабря 2018

добавьте intertitialAd.load() в конец кода выше, затем установите onClickListener следующим образом:

    itemView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

        if (interstitialAd.isLoaded){
            interstitialAd.show();
           }

        }
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...