繁体   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