Флаттер google_mobile_ads не отображается с идентификатором объявления

#flutter #admob #googlemobileads

Вопрос:

Я использую google_mobile_ads и подтвердил свою учетную запись admob и создал рекламные блоки, всем им не менее 2 дней.

Но всякий раз, когда я меняю идентификатор объявления, в приведенном ниже коде объявления не отображаются. Я попытался создать apk-версию и установить ее на свой телефон, но реклама по-прежнему не отображается, и я еще не выпустил приложение.

 void loadRewardedAd(){
    RewardedAd.load(
        adUnitId: RewardedAd.testAdUnitId,//when i put my ad id here it doesn't work
        request: AdRequest(),
        rewardedAdLoadCallback: RewardedAdLoadCallback(
          onAdLoaded: (RewardedAd ad) {
            rewardedAd = ad;
            adLoadsNumber = 0;
          },
          onAdFailedToLoad: (LoadAdError error) {
            adLoadsNumber  ;
            interStitialAd = null;

            if (adLoadsNumber <= 2) {
              loadAds();
            }
          },
        ));
  }

  void showRewardedAd(){
    rewardedAd.fullScreenContentCallback = FullScreenContentCallback(
      onAdShowedFullScreenContent: (RewardedAd ad) =>
          print('$ad onAdShowedFullScreenContent.'),
      onAdDismissedFullScreenContent: (RewardedAd ad) {
        print('$ad onAdDismissedFullScreenContent.');
        ad.dispose();
      },
      onAdFailedToShowFullScreenContent: (RewardedAd ad, AdError error) {
        print('$ad onAdFailedToShowFullScreenContent: $error');
        ad.dispose();
      },
      onAdImpression: (RewardedAd ad) => print('$ad impression occurred.'),
    );

    rewardedAd.show(
        onUserEarnedReward: (RewardedAd ad, RewardItem rewardItem) {
          this.gameEnded = false;
          this.livesLeft.value = 3;
        }
    );

  }
  void loadAds() {
    loadInterstitialAd();
    loadRewardedAd();
  }

  void loadInterstitialAd(){
    InterstitialAd.load(
        adUnitId: InterstitialAd.testAdUnitId,//same with this one
        request: AdRequest(),
        adLoadCallback:
        InterstitialAdLoadCallback(onAdLoaded: (InterstitialAd ad) {
          interStitialAd = ad;
          adLoadsNumber = 0;
        }, onAdFailedToLoad: (LoadAdError e) {
          adLoadsNumber  ;
          interStitialAd = null;

          if (adLoadsNumber <= 2) {
            loadInterstitialAd();
          }
        }));
  }

  void showInterstitialAd(bool isEnded) {
    if (interStitialAd == null) {
      return;
    }

    interStitialAd.fullScreenContentCallback = FullScreenContentCallback(
      onAdDismissedFullScreenContent: (InterstitialAd ad) {
        ad.dispose();
      },
      onAdFailedToShowFullScreenContent: (InterstitialAd ad, AdError error) {
        ad.dispose();
      },
    );

    interStitialAd.show();
  }

 

Комментарии:

1. Я тоже подписал релиз apk

2. Если показываются тестовые объявления, то все в порядке, показ живых объявлений занимает довольно много времени.

3. хорошо, показываются тестовые объявления. Спасибо

Ответ №1:

Пожалуйста, проверьте, добавили ли вы подписанный APK SHA в консоль.

Комментарии:

1. Я подписал его с помощью хранилища ключей, используя этот docs.flutter.dev/deployment/ android , но я не подписал его с помощью sha, нужно ли это делать?