适用于 iOS 的 MoPub:插页式关闭按钮未显示

Posted

技术标签:

【中文标题】适用于 iOS 的 MoPub:插页式关闭按钮未显示【英文标题】:MoPub for iOS: Interstitial close button not showing 【发布时间】:2021-07-27 13:39:07 【问题描述】:

我有一个 SwiftUI/SpriteKit 项目,我正在尝试使用找到的测试广告 ID here 来实现 MoPub 插页式广告。

广告按预期加载,点击广告成功,但广告上没有关闭按钮。

我已经通过 CocoaPods 集成了 MoPub SDK,如下所示:

pod 'mopub-ios-sdk'

我在 AppDelegateapplication(_:didFinishLaunchingWithOptions:) 函数中初始化 MoPub SDK,如下所示:

let sdkConfig = MPMoPubConfiguration(adUnitIdForAppInitialization: "MyIdHere")

sdkConfig.loggingLevel = .debug

MoPub.sharedInstance().initializeSdk(with: sdkConfig, completion: 
  DispatchQueue.main.async 
     //The SDK is initialized.
  
)

我正在通过下面的showAd 函数展示广告:

class InterstitialAds: UIViewController, MPAdViewDelegate, MPInterstitialAdControllerDelegate 
    var moPubView: MPAdView?
    
    func viewControllerForPresentingModalView() -> UIViewController! 
        return self
    
    
    
    func interstitialDidLoadAd(_ interstitial: MPInterstitialAdController) 
        
    
    func interstitialDidFail(toLoadAd: MPInterstitialAdController, withError: Error)
        
    
    func interstitialWillDismiss(_ interstitial: MPInterstitialAdController) 
        
    
    func interstitialDidDismiss(_ interstitial: MPInterstitialAdController) 
        
    
    func interstitialDidExpire(_ interstitial: MPInterstitialAdController) 
        
    
    
    
    func showAd() 
        let topViewController = UIApplication.shared.windows.filter $0.isKeyWindow.first?.rootViewController
        
        self.modalPresentationStyle = .fullScreen
        
        topViewController?.present(self, animated: true) 
            let adId = "4f117153f5c24fa6a3a92b818a5eb630" //Test ad unit id

            self.moPubView = MPAdView.init(adUnitId: adId)

            let bounds = self.view.bounds
            var adFrame = CGRect.zero
            adFrame.size = CGSize(width: UIScreen.main.bounds.width, height: UIScreen.main.bounds.height)

            if let v = self.moPubView 
                v.frame = adFrame
                v.maxAdSize = kMPPresetMaxAdSizeMatchFrame
                v.delegate = self
                self.view.addSubview(v)
                v.loadAd()
            
        
    
    

    override func viewDidLoad() 
        super.viewDidLoad()
    
    

问题: 我需要进行哪些更改才能显示关闭按钮?

谢谢!

【问题讨论】:

您使用的是哪个版本的 mopub? @davidev 我相信这是最新的 SDK 版本,因为我是如何与 CocoaPods 集成的:pod 'mopub-ios-sdk' 【参考方案1】:

我设法通过进行一些更改来完成这项工作:

    MPAdView 替换为MPInterstitialAdController。 将MPAdView.init(adUnitId: adId) 替换为MPInterstitialAdController(forAdUnitId: adId)。 在调用loadAd() 后调用show(from:)

现在可以根据需要显示关闭按钮。

【讨论】:

以上是关于适用于 iOS 的 MoPub:插页式关闭按钮未显示的主要内容,如果未能解决你的问题,请参考以下文章

适用于单项活动的AdMob插页式广告

仅在加载插页式广告时显示按钮,否则显示TextView?

Mopub 广告未展示

使用 SdkInitializationListener 初始化 MoPub

为啥我在关闭视图控制器后无法显示我的 Facebook 插页式广告?

如何停用Admob插页式广告?