_AssertionError (‘package:google_mobile_ads/src/ad_instance_manager.dart’: Failed assertion: line 666 pos 7: ‘adIdFor(ad) != null’: Ad has not been loaded or has already been disposed.)

動作環境

Flutter 3
google_mobile_ads 2
flutter で admobをリワードで表示して、二度目のリワードを表示をするとタイトルのエラーが発生しました。

エラーの原因と解消方法

1度目のリワードを表示が完了したときに、変数をnullしてやるとエラーが解消されます。
以下参考コードです。

    _rewardedAd!.show(
      onUserEarnedReward: (AdWithoutView ad, RewardItem reward) {
        print('$ad with reward $RewardItem(${reward.amount}, ${reward.type})');
      });
    _rewardedAd = null;     // showの後に、nullを指定します。

Good Luck!!