showVideoAd method

Future<bool> showVideoAd({
  1. String? adUnitId,
  2. AdRequest? targetInfo,
  3. List<String>? keywords,
  4. String? contentUrl,
  5. bool? childDirected,
  6. List<String>? testDevices,
  7. bool? testing,
  8. MobileAdListener? listener,
  9. RewardListener? rewardListener,
  10. AdErrorListener? errorListener,
  11. State<StatefulWidget>? state,
})

Show a Video Ad. hideFullScreenAd parameters: state is passed to determine if the app is not terminating. No need to show ad.

Implementation

Future<bool> showVideoAd(
    {String? adUnitId,
    AdRequest? targetInfo,
    List<String>? keywords,
    String? contentUrl,
    bool? childDirected,
    List<String>? testDevices,
    bool? testing,
    m.MobileAdListener? listener,
    m.RewardListener? rewardListener,
    m.AdErrorListener? errorListener,
    State? state}) async {
  //
  bool show = false;

  if (state != null && !state.mounted) {
    return show;
  }

  // Can only have one instantiated Ads object.
  if (!_firstObject) {
    return show;
  }

  if (_videoAd == null || !_videoAd!.loaded) {
    show = await setVideoAd(
      adUnitId: adUnitId,
      keywords: keywords,
      contentUrl: contentUrl,
      childDirected: childDirected,
      testDevices: testDevices,
      testing: testing,
      listener: listener,
      rewardListener: rewardListener,
      errorListener: errorListener,
    );

    if (show) {
      show = _videoAd!.show();
    }
  } else {
    if (listener != null) {
      video.eventListeners.add(listener);
    }
    if (rewardListener != null) {
      video.rewardListener = rewardListener;
    }
    // Add this listener to the Error Listeners.
    if (errorListener != null) {
      m.eventErrorListeners.add(errorListener);
    }

    show = _videoAd!.show();
  }
  return show;
}