如何在自定义UIView中展示AppLovin Max广告?
你当前的问题核心是:错误代码里根本没把adView添加到customUIVIEW中,反而重复添加了customUIVIEW,且未给广告视图设置尺寸和位置,导致广告无法显示。以下是修正方案:
核心修正要点
- 必须将
MAAdView添加到你的customUIVIEW(而非父视图) - 给
adView设置AppLovin标准Banner尺寸:iPhone为50pt,iPad为90pt - 确保
customUIVIEW已正确初始化并添加到父视图完成布局
修正后的代码(Frame布局)
func createBannerAd() { // 替换为你的AppLovin广告单元ID adView = MAAdView(adUnitIdentifier: "YOUR_AD_UNIT_ID") adView.delegate = self adView.backgroundColor = .white // 设置Banner尺寸 let bannerHeight: CGFloat = UIDevice.current.userInterfaceIdiom == .pad ? 90 : 50 let bannerWidth: CGFloat = customUIVIEW.bounds.width // 匹配自定义视图宽度 // 定位广告在customUIVIEW中的位置,示例为顶部,可根据需求调整y值 adView.frame = CGRect(x: 0, y: 0, width: bannerWidth, height: bannerHeight) // 将广告添加到自定义视图 customUIVIEW.addSubview(adView) // 加载广告 adView.loadAd() }
推荐:Auto Layout布局(适配屏幕旋转/尺寸变化)
如果你的customUIVIEW使用Auto Layout,建议用约束定位广告:
func createBannerAd() { adView = MAAdView(adUnitIdentifier: "YOUR_AD_UNIT_ID") adView.delegate = self adView.backgroundColor = .white adView.translatesAutoresizingMaskIntoConstraints = false // 禁用自动转换约束 // 添加到自定义视图 customUIVIEW.addSubview(adView) // 设置约束:示例为广告宽度匹配自定义视图、高度按设备类型、顶部对齐 NSLayoutConstraint.activate([ adView.topAnchor.constraint(equalTo: customUIVIEW.topAnchor), adView.leadingAnchor.constraint(equalTo: customUIVIEW.leadingAnchor), adView.trailingAnchor.constraint(equalTo: customUIVIEW.trailingAnchor), adView.heightAnchor.constraint(equalToConstant: UIDevice.current.userInterfaceIdiom == .pad ? 90 : 50) ]) adView.loadAd() }
额外注意事项
- 确保
customUIVIEW已完成初始化并添加到父视图(比如执行过self.view.addSubview(customUIVIEW)) - 需实现
MAAdViewDelegate相关方法,处理广告加载成功/失败、点击等事件 - 务必替换代码中的
YOUR_AD_UNIT_ID为你在AppLovin后台创建的Banner广告单元ID
内容的提问来源于stack exchange,提问作者noorapps
相关产品推荐
相关产品推荐

