【SwiftUI】AdMob(アドモブ)広告の実装方法【Banner(バナー)広告とReworded(リワード)広告】

この記事では、SwiftUIでのAdMob(アドモブ)広告の実装方法を紹介します。

実装の例として、Banner(バナー)広告、Reworded(リワード)広告表示のコードを作成します。

 

なお、Google AdMobのアカウント登録、アプリ登録、広告ユニットの作成はすでに済ませた状態で解説を行っています。

 

◆動作検証環境

・ローカル環境:mac Catalina
・XCode:12.1
・SwiftUI:2.0
・iOS:14.0
・Life Cycle:SwiftUI App
スポンサードリンク

CocoaPodsのインストール

 

まずは下記のコマンドを実行してCocoaPodsをインストールします。

※すでにインストール済みの場合は、こちらの設定は必要ありません。

 

 

インストールが終わったら、次のコマンドで初期化を行います。

 

XcodeプロジェクトへCocoaPodsを導入する

 

導入の作業の前に、Xcodeのプロジェクトが開かれているか確認します。開いている場合はプロジェクトを閉じます。

 

プロジェクトディレクトリへの移動

 

CocoaPodsファイルの作成

 

 

Podfileの編集(KeyboardObservingの導入)

さきほどのpod init を行ったディレクトリにPodfile が作成されるので、内容を下記のように編集します。

 

編集後に下記コマンドでKeyboardObserving のインストールを行います。

 

インストール後の更新作業は下記コマンドで行います。

 

 

対象のモジュールのインストール後からは、ProjectName.xcworkspace で作業、編集を行います(ProjectName.xcodeproj ではない。)

 

現状のままだとビルド後にエラーが発生してしまうので、Info.plistの編集を行います。

以下のKey ,Type ,Value を追加します。


Key:GADApplicationIdentifier

Type:String

Value:ca-app-pub-xxxxxxxxxxxxxxxxxxxxxxxxx~xx(自身のAppID)


これでビルドができるようになります。

 

Mobile Ads SDKの初期化処理

 

Mobile Ads SDKを初期化するために、Applicationファイル(YourProjectNameApp.swift )を編集します。

 

 

スポンサードリンク

【SwiftUI】AdMob(アドモブ)Banner(バナー)広告の実装

 

Mobile Ads SDKの初期化処理が完了した後は、広告表示用のViewを作成します。

BannerAdView.swift

 

あとは、必要に応じてBannerAdView() を表示します。

よく利用されるサイズはwidth: 320, height: 50です。

 

【SwiftUI】AdMob(アドモブ)Reworded(リワード)広告の実装

 

まずは、GADRewardedAdDelegate を継承するクラスを作成し、必要な変数、メソッドを作成します。

RewardedAdDelegate.swift

 

次にReworded(リワード)広告のViewを作成します。

RewardedAdView.swift

このViewでは、タップされるとRewardedAdDelegate.swift で作成したloadAd() メソッドが呼ばれるボタンをリターンします。

 

必要なViewで使用する際は、サンプルとして以下のようなコードを作成します。

 

Reworded(リワード)広告が表示されるには、RewardedAdView.swift で

if rewardedAdDelegate.adLoaded && !rewardedAdDelegate.adFullyWatched {  } となっているように、RewardedAdDelegate.swift で定義しているadFullyWatched がfalseになっている必要があります。

 

一度Reworded(リワード)広告が表示されると、adFullyWatched がtrueとなります。

5行目のTextは、adFullyWatched の状態の確認ようです。

一度表示した後も続けて、表示したい場合は6行目のText(リセット)をタップすると可能になります。

 

利用する状況に応じて、コードを作成してください。

 


以上、SwiftUIでのAdMob(アドモブ)広告の実装方法を紹介しました。