【SwiftUI】デバッグビルドとリリースビルドでMobAdの広告を切り替える方法
こんにちは、やまだゆうです。
今回はデバッグビルドとリリースビルドでMobAdのIDを切り替える方法を伝えします。
この記事の内容
スポンサーリンク
広告ユニットIDを用意
アプリに組み込む広告IDを用意します。
本番用はご自身のGoogle AdMobのページで広告ユニットIDを確認してください。
テスト用の広告ユニットIDはGoogle AdMobのドキュメントで公開されているIDを使用します。
今回の記事では、バナー広告(アダプティブ バナー)用のデモ広告ユニット IDを使用します。
User-Defined Settingに広告ユニットIDを設定する
Xcodeでアプリプロジェクトを開き、User-Definedを追加します。
Setting名に「AdUnitID」を追加します。DebugとReleaseにそれぞれテスト用と本番用の広告ユニットIDを設定します。
スポンサーリンク
Info.plistに広告ユニットIDを渡す
Info.plistに次の値を追加します。
コードで表すと次のようになります。
<key>AdUnitID</key>
<string>${AdUnitID}</string>
バナーView生成時に広告ユニットIDを取得する
バナーViewを作成するときにInfo.plistからAdUnitID
を参照してadUnitIDに値を入れましょう。
import SwiftUI
import GoogleMobileAds
struct BannerView: UIViewControllerRepresentable {
let bannerView = GADBannerView(adSize: GADAdSizeBanner)
func makeUIViewController(context: Context) -> UIViewController {
let viewController = UIViewController()
// Info.plistからAdUnitIDを参照
bannerView.adUnitID = Bundle.main.infoDictionary!["AdUnitID"] as? String
bannerView.rootViewController = viewController
viewController.view.addSubview(bannerView)
return viewController
}
func updateUIViewController(_ uiViewController: UIViewControllerType, context: Context) {
bannerView.load(GADRequest())
}
}
これでデバッグビルド時はテスト広告、リリースビルド時は本番用の広告が表示されるようになります。
スポンサーリンク
参考資料
yamaday0uを応援お願いします!あなたの1クリックが励みになります。
>> にほんブログ村