Android admob не может загрузить вознагражденное видео, но дает вознаграждение - PullRequest
0 голосов
/ 06 июля 2019

Я интегрировал admob и admob mediation в свое приложение. Проблема в том, что когда я пытаюсь загрузить объявление с иранским ip admob не может загрузить видео и вызывает обратный вызов вознаграждения на сервер !!

Когда я пытаюсь загрузить с другими странами ip, проблем нет, а если загрузка не удалась, вознаграждение не дается.

Вот мой код:

Конфигурация admob:

    MobileAds.initialize(activity, "ca-app-pub-*************************");

чтобы загрузить объявление:

    RewardedAdCallback showCallback = new RewardedAdCallback() {
        @Override
        public void onRewardedAdClosed() {
            super.onRewardedAdClosed();
        }
        @Override
        public void onUserEarnedReward(@NonNull com.google.android.gms.ads.rewarded.RewardItem rewardItem) {
            super.onUserEarnedReward(rewardItem);
            giveReward();
        }
        @Override
        public void onRewardedAdOpened() {
            super.onRewardedAdOpened();
        }
        @Override
        public void onRewardedAdFailedToShow(int i) {
            super.onRewardedAdFailedToShow(i);
        }
    };
    if (adMobAd == null) {
        adMobAd = new com.google.android.gms.ads.rewarded.RewardedAd(activity,
                activity.getString(R.string.rewarded_ad_unit_id));
          adMobAd = MobileAds.getRewardedVideoAdInstance(activity);
    }
    if (adMobAd.isLoaded()) {
        adMobAd.show(activity, showCallback);
        return;
    }
    ServerSideVerificationOptions options = new ServerSideVerificationOptions.Builder()
            .setCustomData(DeviceUUID.getId()).build();
    adMobAd.setServerSideVerificationOptions(options);
    adMobAd.loadAd(new AdRequest.Builder().build(), new RewardedAdLoadCallback() {
        @Override
        public void onRewardedAdLoaded() {
            super.onRewardedAdLoaded();
            adMobAd.show(activity, showCallback);
        }
        @Override
        public void onRewardedAdFailedToLoad(int i) {
            super.onRewardedAdFailedToLoad(i);
        }
    });

Когда пользователь запрашивает объявление из Ирана, вызывается обратный вызов onRewardedAdFailedToLoad (), и admob отправляет обратный вызов onUserEarnedReward () на сервер, не вызывая его на стороне Android.

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