個人的なメモ。役立つ人がいれば。
まだまだ、アプリ開発は初心者のという私のような人向け。
環境
Xcode8.1/Swift3.0
広告導入
iAd が使えないし、簡単に広告を入れてみる。
導入は、podfile を書いてみた。コマンドラインで、pod init して、pod install をする。
target 'SaimonCats' do
# Comment the next line if you're not using Swift and don't want to use dynamic frameworks
# use_frameworks!
pod 'Firebase'
pod 'Firebase/AdMob'
pod 'EAIntroView', '~> 2.10.0'
# Pods for SaimonCats
(略)
end
brigeも書いて定義する。
Bridging-Header.h
#ifndef Bridging_Header_h
#define Bridging_Header_h
#import "EAIntroView/EAIntroView.h"
#endif /* Bridging_Header_h */
ViewController の Delegate を定義する。
ViewController.swift
class ViewController: UIViewController, GADBannerViewDelegate {
ViewController に func を定義する。
ViewController.swift
// Admob広告表示処理
func getAdBannerView(_ BannerType: Bool) -> GADBannerView {
// Admob Version
print("Google Mobile Ads SDK version: " + GADRequest.sdkVersion())
// bannerViewの作成
var bannerView: GADBannerView = GADBannerView()
bannerView = GADBannerView(adSize:kGADAdSizeBanner)
// 表示位置計算
var bannerY:CGFloat = 20
if BannerType {
bannerY = UIScreen.main.bounds.size.height - bannerView.frame.height
}
let bannerX = (UIScreen.main.bounds.size.width - bannerView.frame.width) / 2
// 表示位置設定
bannerView.frame.origin = CGPoint(x: bannerX, y: bannerY)
bannerView.frame.size = CGSize(width: bannerView.frame.width, height: bannerView.frame.height)
// 表示バナーのIDを指定
bannerView.adUnitID = bannerId // Enter Ad's ID here
// delegate と表示先指定
bannerView.delegate = ViewController()
bannerView.rootViewController = self
// バナーをリクエスト
let getrequest:GADRequest = GADRequest()
if debugModeFlag {
// テスト用バナー
getrequest.testDevices = [kGADSimulatorID]
}
bannerView.load(getrequest)
// バナーを返す
return bannerView
}
別のViewControllerから呼ぶ。
SampleViewController.swift
let viewController = ViewController()
let bannerView:GADBannerView = viewController.getAdBannerView(true)
self.view.addSubview(bannerView)
他に書き方もあるとは思いますが、一例ということで。
自分のアプリに反映
以下のアプリで使っています。スクリーンショット観てみてください。
[AppStore] Simoncats
https://itunes.apple.com/jp/app/simoncats/id1078064315?mt=8