Несколько различных рекламных баннеров Admob в UICollectionView - PullRequest
0 голосов
/ 23 мая 2018

У меня есть CollectionView с бесконечной прокруткой, и я пытаюсь сделать так, чтобы в каждой 9-й ячейке вместо обычного контента была баннерная реклама Admob.

Я хочу убедиться, чтокаждое объявление отличается от предыдущего.Однако, насколько я понимаю, это означает, что каждое новое объявление должно иметь новый adUnitID, который я должен создать вручную через веб-сайт Admob.

Можно ли отображать другой объявление в каждой 9-й ячейке?

Это код, который у меня сейчас есть.Это работает, но показывает одно и то же объявление снова и снова:

override func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {

       if (indexPath.item % 9 == 0) {

           let cell = collectionView.dequeueReusableCell(withReuseIdentifier: adCellId, for: indexPath) as! AdCell

           let adSize = GADAdSizeFromCGSize(CGSize(width: self.view.frame.width, height: adViewHeight))
           let bannerView = GADBannerView(adSize: adSize)

           bannerView.adUnitID = "ca-app-pub-3940256099942544/2934735716"
           bannerView.delegate = self
           bannerView.rootViewController = self
           bannerView.translatesAutoresizingMaskIntoConstraints = false

           let request = GADRequest()
           bannerView.load(request)

           cell.contentView.addSubview(bannerView)

           return cell

        } else {
           // ...
        }
}

Спасибо!

1 Ответ

0 голосов
/ 23 мая 2018
var arrAdUnitID = [String array of all Ad Unit ID]
var currentIndexForAdd = 0
var currentIndexForNormalRow = 0


override func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {

       if (indexPath.item % 9 == 0) {

           let cell = collectionView.dequeueReusableCell(withReuseIdentifier: adCellId, for: indexPath) as! AdCell

           let adSize = GADAdSizeFromCGSize(CGSize(width: self.view.frame.width, height: adViewHeight))
           let bannerView = GADBannerView(adSize: adSize)

           bannerView.adUnitID = arrAdUnitID[currentIndexForAdd]
           currentIndexForAdd += 1
           bannerView.delegate = self
           bannerView.rootViewController = self
           bannerView.translatesAutoresizingMaskIntoConstraints = false

           let request = GADRequest()
           bannerView.load(request)

           cell.contentView.addSubview(bannerView)

           return cell

        } else {
           cell.title.text = arrDataToShow[currentIndexForNormalRow] // It can be any thing like image or text which you want to show
           currentIndexForNormalRow += 1 
        }
}
...