首页 > 解决方案 > 我的 iOS 应用中的 AdMob 横幅广告是否会中断其他应用的背景音频?

问题描述

我注意到我的 iOS 应用程序存在问题,当我的应用程序处于活动状态时,有时会停止从其他应用程序(例如 Podcast 应用程序)播放音频。我的应用程序不播放任何音频(它很安静),我希望其他应用程序的背景音频在我的应用程序正在使用时继续播放。我尝试按照本文中的建议使用选项 .mixWithOthers 设置 AVAudioSession 类别:

在 Swift 中,如何让其他应用在我的应用打开时继续播放音频?

但是,加载某些 Google 横幅广告时,音频仍会停止。具体来说,罪魁祸首似乎是一些带有动画效果的横幅广告(例如 coinbase 广告)。谷歌广告代码或特定广告本身是否可能导致音频中断?如果是这样,我如何防止它这样做并允许后台应用程序在我的应用程序运行和加载新广告时继续播放音频?

重申一下(因为我被要求重写这篇文章),期望的行为是当我的应用程序启动和运行时由另一个应用程序播放的任何音频应该继续播放并且不会被我的应用程序或 admob 中断我的应用程序中的横幅广告。具体问题是音频(如播客)有时会在我的应用程序处于前台时停止播放(并非总是如此),我怀疑这与谷歌横幅广告有关。当我从代码中删除广告时,我无法重现音频中断,但我想保留它。要重现,请在您的应用程序中使用以下代码,播放播客,启动应用程序并等待带有动画的广告加载横幅广告(例如 coinbase 广告):

   include GoogleMobileAds

   @IBOutlet weak var bannerAd: GADBannerView!

   let request = GADRequest()
    
   //Setup Ad
    bannerAd.adUnitID = "<your app id here>"
    
    bannerAd.rootViewController = self
    bannerAd.delegate = self
    
    bannerAd.load(request)

我正在使用 Xcode 12.4;斯威夫特 5;GAD SDK 版本:afma-sdk-i-v7.64.0

标签: iosswiftaudioadmobinterruption

解决方案


推荐阅读