#GoogleAdMobの実装
アプリ内広告の種類はいくつかありますが、今回はGoogleAdMobのバナー広告を選択しました。
作成済みのアプリ(以下のQiita記事リンクに詳細)に組み込みます。
https://support.google.com/admob/answer/6128738?hl=ja より画像引用
###AdMobの登録とキーの取得
省略します
###フレームワーク(Google-Mobile-Ads-SDK)のインストール
cocoapodsを使用したフレームワークのインストールに失敗しました。
M1マックを使用していることに原因がありそうですが、解決法が見つからなかったので手動でサイトから直接ダウンロードして、
手動でフレームワーク放り込むことで上手くいきました。
放り込む場所(Gneral
のFrameworks,Libraries,and Embeded Content
)
デフォルトでEmbed
になっていますのでDo Not Embed
にします
###Infomtion Property Listにkeyを追加
###コードの記述
フレームワークのインポート
import GoogleMobileAds
初期化
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
GADMobileAds.sharedInstance().start(completionHandler: nil)
return true
}
AppDelegate.swift
にあるfunc applicarion
内の//Override point for...
以下に
GADMobileAds.sharedInstance().start(completionHandler: nil)
を記述します。
続いてstruct ContentView: View {}
内に広告を定義します。
//Admobの実装
struct AdView: UIViewRepresentable {
func makeUIView(context: Context) -> GADBannerView {
let banner = GADBannerView(adSize: kGADAdSizeBanner)
// 下記はテスト専用広告ユニットID(バナー広告)。
banner.adUnitID = "ca-app-pub-3940256099942544/2934735716"
banner.rootViewController = UIApplication.shared.windows.first?.rootViewController
banner.load(GADRequest())
return banner
}
func updateUIView(_ uiView: GADBannerView, context: Context) {
}
}
続いて、var body: some View {}
内にAdView()を追加します。
これで広告の実装が完成です。
AdView().frame(width: 320, height: 50)
今回はNavigationView
の上に配置しました。
本番用の広告IDを使用して、もしタップしてしまうとペナルティをくらいますのでご注意下さい。