Я пытаюсь интегрировать собственное приложение Mopub в свой UITableView для iOS, и оно не загружает объявления.Невозможно интегрировать собственное приложение Mopub в UITableView для iOS
Консоль говорит:
MOPUB: Received data from MoPub to construct native ad.
MOPUB: Looking for custom event class named MPMoPubNativeCustomEvent.
MOPUB: Successfully loaded native ad.
, но я не вижу никаких объявлений в моем Tableview.
Вот мой взгляд тестовый контроллер используется для интеграции MoPub:
import UIKit
import MoPub
class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource, MPTableViewAdPlacerDelegate {
@IBOutlet weak var tableView: UITableView!
let adUnitID = "my ad unit id"
var placer:MPTableViewAdPlacer?
var dataSource:[String]?
override func viewDidLoad() {
super.viewDidLoad()
self.tableView.mp_setDelegate(self)
self.tableView.mp_setDataSource(self)
self.tableView.register(UINib(nibName: "customCell", bundle: Bundle(for: customCell.self)), forCellReuseIdentifier: "cell")
self.dataSource = [String]()
for index in 0...20{
self.dataSource?.append("My Index: \(index)")
}
self.setupAdPlacer()
self.tableView.mp_reloadData()
}
func setupAdPlacer(){
let targeting: MPNativeAdRequestTargeting! = MPNativeAdRequestTargeting()
targeting.desiredAssets = Set([kAdIconImageKey, kAdCTATextKey, kAdTextKey, kAdTitleKey])
let positioning:MPAdPositioning = MPAdPositioning()
let settings:MPStaticNativeAdRendererSettings = MPStaticNativeAdRendererSettings()
settings.renderingViewClass = NativeAdCell.self
settings.viewSizeHandler = {(maxWidth: CGFloat) -> CGSize in
let size:CGSize = CGSize(width: maxWidth, height: 333)
return size
}
let config:MPNativeAdRendererConfiguration = MPStaticNativeAdRenderer.rendererConfiguration(with: settings)
config.supportedCustomEvents = ["MPMoPubNativeCustomEvent"]
self.placer = MPTableViewAdPlacer(tableView: self.tableView, viewController: self, adPositioning: positioning, rendererConfigurations: [config])
self.placer?.delegate = self
self.placer?.loadAds(forAdUnitID: adUnitID, targeting: targeting)
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return (self.dataSource?.count)!
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
var cell = tableView.mp_dequeueReusableCell(withIdentifier: "cell", for: indexPath) as? customCell
if cell == nil {
cell = customCell()
}
let data = self.dataSource?[indexPath.row]
cell?.myTextLabel?.text = data
return cell!
}
}
Мои NativeAdCell Класс:
import UIKit
import MoPub
class NativeAdCell: UITableViewCell, MPNativeAdRendering {
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
}
override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
// Configure the view for the selected state
}
}
Здравствуйте, Вы нашли решение? я столкнулся с той же проблемой –