Admob Adreward не загружается, код ошибки 0 - PullRequest
0 голосов
/ 13 марта 2020

Когда я пытался загрузить объявление, иногда оно показывает код ошибки 0

rewardedAd = new RewardedAd(getActivity(), "ca-app-pub-3940256099942544/5224354917"); 
RewardedAdLoadCallback adLoadCallback = new RewardedAdLoadCallback() {
        @Override
        public void onRewardedAdLoaded() {
            // Ad successfully loaded
        }

        @Override
        public void onRewardedAdFailedToLoad(int errorCode) {
            // Ad failed to load, I got error code = 0 here
        }
    };

В этой теме автор сказал:

Код ошибки 0: ERROR_CODE_INTERNAL_ERROR This указывает на то, что что-то произошло внутри; например, с рекламного сервера был получен недействительный ответ.

Вновь созданные рекламные блоки могут занять до 2 часов, чтобы стать активными (время SpinUp). Любые запросы объявлений от вновь созданных рекламных блоков также будут получать код ошибки 0 в ответ на запросы объявлений, пока они не будут готовы к показу активных объявлений.

Не думаю, что это была проблема, поскольку я использовал только Идентификатор тестового объявления.

Буду признателен за любую помощь

1 Ответ

0 голосов
/ 16 марта 2020

Вот шаги для правильной реализации наградной рекламы в приложении

private RewardedVideoAd mRewardedVideoAd;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
     mRewardedVideoAd = MobileAds.getRewardedVideoAdInstance(this);
     loadRewardedVideoAd();
}

public void loadRewardedVideoAd() {

    mRewardedVideoAd.setRewardedVideoAdListener(new RewardedVideoAdListener() {
        @Override
        public void onRewardedVideoAdLoaded() {

        }

        @Override
        public void onRewardedVideoAdOpened() {
        }

        @Override
        public void onRewardedVideoStarted() {
        }

        @Override
        public void onRewardedVideoAdClosed() {
          loadRewardedVideoAd();
        }

        @Override
        public void onRewarded(RewardItem rewardItem) {
        }

        @Override
        public void onRewardedVideoAdLeftApplication() {
        }

        @Override
        public void onRewardedVideoAdFailedToLoad(int i) {

        }

        @Override
        public void onRewardedVideoCompleted() {


        }
    });

    mRewardedVideoAd.loadAd("ca-app-pub-3940256099942544/5224354917",
            new AdRequest.Builder().build());
}

public void showRewardedAds() {
    if (mRewardedVideoAd != null && mRewardedVideoAd.isLoaded()) {
        mRewardedVideoAd.show();
    }  else {

      loadRewardedVideoAd();
    }
}

 @Override
public void onDestroy() {
    if (mRewardedVideoAd != null) {
        mRewardedVideoAd.destroy(this);
    }
    super.onDestroy();
}
...