requestAds () {
    const { adsRequest: providedAdsRequest, adsResponse, adTagUrl } = this.config
    const { player } = this

    const adsRequest = new google.ima.AdsRequest()

    adsRequest.linearAdSlotWidth = player.sizeInfo.width
    adsRequest.linearAdSlotHeight = player.sizeInfo.height
    adsRequest.nonLinearAdSlotWidth = player.sizeInfo.width
    adsRequest.nonLinearAdSlotHeight = player.sizeInfo.height
    adsRequest.setAdWillAutoPlay(this.autoplayAllowed)
    adsRequest.setAdWillPlayMuted(this.autoplayRequiresMuted)

    if (adTagUrl) {
      adsRequest.adTagUrl = adTagUrl
    } else if (adsResponse) {
      adsRequest.adsResponse = adsResponse
    } else if (providedAdsRequest && typeof providedAdsRequest === 'object') {
      Object.keys(providedAdsRequest).forEach(key => {
        adsRequest[key] = providedAdsRequest[key]
      })
    }

    logger.log('requestAds', JSON.stringify(adsRequest))

    this.adsLoader?.requestAds(adsRequest)
  }
Creates the AdsRequest and request ads through the AdsLoader.