簡體   English   中英

無法在我的 iOS swift 應用程序中添加 Google 原生廣告

[英]Not able to add Google native ads in my iOS swift app

我有一個 swift 語言的 iOS 應用程序。 我在我的應用中加入了 Google AdMob 廣告。 我已經實施了橫幅廣告和插頁式廣告,但我無法為原生廣告生成廣告 ID。 我發現了一個 Ad Sense 自定義搜索原生廣告,但我不知道這些廣告的用途是什么。 我可以在我的移動應用中使用 AdSense 原生廣告嗎? 請建議我該怎么做以及如何進步?

以下是我在添加 Google Admob 廣告時始終遵循的步驟。 請注意,下面的示例將在表格視圖中實現 Google Admob。

  1. 通過 pod pod 'Google-Mobile-Ads-SDK'安裝 Google Admob 廣告
  2. AppDelegate > didFinishLaunchingWithOptions ,設置/配置 Google Admob GADMobileAds.configure(withApplicationID: Constant.googleAdmobAppID)

  3. 接下來,為 Google Admob Banner 創建一個類。

import Foundation
import GoogleMobileAds

class GoogleAdMobBanner: NSObject, GADBannerViewDelegate {

    unowned var sourceTableViewController: UITableViewController
    var adBannerView: GADBannerView

    init(sourceTableViewController: UITableViewController) {
        self.sourceTableViewController = sourceTableViewController
        adBannerView = GADBannerView(adSize: kGADAdSizeSmartBannerPortrait)

        super.init()

        adBannerView.adUnitID = Constant.googleAdmobBannerID
        adBannerView.delegate = self
        adBannerView.rootViewController = sourceTableViewController
    }

    // MARK:- Google Admob

    func adViewDidReceiveAd(_ bannerView: GADBannerView) {
        print("Banner loaded successfully")

        // Reposition the banner ad to create a slide up effect
        let translateTransform = CGAffineTransform(translationX: 0, y: -bannerView.bounds.size.height)
        bannerView.transform = translateTransform

        UIView.animate(withDuration: 0.5) {
            bannerView.transform = CGAffineTransform.identity
            self.sourceTableViewController.tableView.tableHeaderView = bannerView
        }
    }

    func adView(_ bannerView: GADBannerView, didFailToReceiveAdWithError error: GADRequestError) {
        print("Fail to receive ads")
        print(error)
    }

    func loadAdMob() {
        let request = GADRequest()
        request.testDevices = [kGADSimulatorID]

        adBannerView.load(request)
    }

}
  1. 在所需的類中聲明一個延遲加載的 admob 橫幅。
class MyController: UITableViewController {

    lazy var googleAdMobBanner: GoogleAdMobBanner = {
        return GoogleAdMobBanner(sourceTableViewController: self)
    }()

}
  1. 最后,在viewDidLoad加載 Google Admob
override func viewDidLoad() {
    super.viewDidLoad()

    googleAdMobBanner.loadAdMob()
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM