适用于 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'
我在 AppDelegate
的 application(_: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:插页式关闭按钮未显示的主要内容,如果未能解决你的问题,请参考以下文章
使用 SdkInitializationListener 初始化 MoPub