OnClickListner не очень хорошо работает с рекламными вставками. (Рекламные объявления перед загрузкой фрагмента не работают) - PullRequest
0 голосов
/ 28 января 2020

Это мой фрагмент. java код. У меня был такой код: когда пользователь нажимает кнопку - показывается промежуточная реклама и когда пользователь закрывает рекламу go на другом фрагменте, но проблема в том, что на некоторых устройствах это не работает (not go to another fragment) и когда промежуточная реклама не загружена, она также не работает (not go to another fragment). пожалуйста, кто-нибудь исправит эту проблему. я новичок в вашем сообществе и если есть какая-либо ошибка в коде, пожалуйста, направьте меня спасибо

publi c класс Main_Home_Fragment extends Fragment {

public Main_Home_Fragment() {
    // Required empty public constructor
}
private InterstitialAd mInterstitialAd;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    // Inflate the layout for this fragment
    View view=inflater.inflate(R.layout.fragment_main__home_, container, false);
    Button btn1=(Button)view.findViewById(R.id.btn1);

    mInterstitialAd = new InterstitialAd(getContext());
    mInterstitialAd.setAdUnitId("ca-app-pub-3940256099942544/1033173712");
    mInterstitialAd.loadAd(new AdRequest.Builder().build());





    btn1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            mInterstitialAd.setAdListener(new AdListener(){
                @Override
                public void onAdClosed(){
                    super.onAdOpened();
                    proceed();
                }

                @Override
                public void onAdLoaded(){
                    super.onAdLoaded();
                    mInterstitialAd.show();
                }

            });
            if (mInterstitialAd.isLoaded()) {
                mInterstitialAd.show();
            } else {
                mInterstitialAd.loadAd(new AdRequest.Builder().build());
            }
        }

        private void proceed()
        {
            FragmentTransaction fr=getFragmentManager().beginTransaction();
            fr.replace(R.id.FrameLayoutID,new Another_Sub_Fragment(), null).addToBackStack(null);
            fr.commit();
        }
    });
    return view;
}

}

...