カテゴリー別アーカイブ: ブログ

iOSアプリにAdmobを導入、’GADMobileAds’ has no member ‘configure’のエラー

スポンサーリンク

iOSアプリ、アイフォンのアプリを作成していて、Admobの広告の導入を試みました。

基本は AdMob for iOS の流れ通りですが、この通りやるとエラーになりました。その時の解決方法を記載しておきます。

1.CocoaPodsの導入はこちらを参照

2. Podfileの編集

プロジェクトフォルダを開き、Podfileファイルを開くと

# Uncomment the next line to define a global platform for your project
# platform :ios, ‘9.0’

target ‘プロジェクト名’ do
# Comment the next line if you’re not using Swift and don’t want to use dynamic frameworks
use_frameworks!

# Pods forプロジェクト名

target ‘プロジェクト名Tests’ do
inherit! :search_paths
# Pods for testing
end

target ‘プロジェクト名UITests’ do
inherit! :search_paths
# Pods for testing

end

end

こんな内容になっている。これを

# Uncomment the next line to define a global platform for your project
# platform :ios, ‘9.0’

target ‘プロジェクト名’ do
# Comment the next line if you’re not using Swift and don’t want to use dynamic frameworks
use_frameworks!

# Pods forプロジェクト名

pod ‘Google-Mobile-Ads-SDK’, ‘~> 7.9’

target ‘プロジェクト名Tests’ do
inherit! :search_paths
# Pods for testing
end

target ‘プロジェクト名UITests’ do
inherit! :search_paths
# Pods for testing

end

end

という具合に、赤字部分を追記して保存する

AdMob for iOS をみると

pod 'Google-Mobile-Ads-SDK'

と記載されているが、私の場合、「pod ‘Google-Mobile-Ads-SDK’, ‘~> 7.9’」でないとエラーになりました。

ターミナルを起動し、プロジェクトフォルダまで移動し、

pod install --repo-update

と入力して、enterで反映する。

プロジェクトを起動し、それぞれのファイルを以下のように追記する

AppDelegate.swift

import GoogleMobileAds


@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

  var window: UIWindow?

  func application(_ application: UIApplication,
      didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    // Initialize the Google Mobile Ads SDK.
    // Sample AdMob app ID: ca-app-pub-3940256099942544~1458002511
    GADMobileAds.configure(withApplicationID: "YOUR_ADMOB_APP_ID")

    return true
  }

}

これでコンパイルして、’GADMobileAds’ has no member ‘configure’ なるエラーになりました。

GADMobileAds.configure(withApplicationID: “your_admob_app_id”) を

GADMobileAds.configureWithApplicationID(“your_admob_app_id”) にするとエラーがなくなりました。

次にバナー広告を出す場合、以下のように赤字部分を追記する

ViewController.swift

import GoogleMobileAds
import UIKit

class ViewController: UIViewController, GADBannerViewDelegate{

  var bannerView: GADBannerView!

  override func viewDidLoad() {
   
super.viewDidLoad()

        bannerView = GADBannerView(adSize: kGADAdSizeBanner)
  self.view.addSubview(bannerView)
  bannerView.delegate = self
  bannerView.adUnitID = “広告の番号” 
  bannerView.rootViewController = self 
  bannerView.frame.origin = CGPoint(x:0, y:20) 
  bannerView.load(GADRequest())
  

 
}
}

 

ここで、bannerView.load(GADRequest()) が ’load’ cannot be used on instance of type ‘GADBannerView’bannerView.loadRequest(GADRequest()) というエラーを起こす

なので、これを 

bannerView.loadRequest(GADRequest()) にするとエラーがなくなります。

 

スポンサーリンク