[Google AdMob]iPhoneアプリで広告収益を得る方法

スポンサーリンク
eye-catching-admob-ad広告 Google AdMob
スポンサーリンク

iPhone アプリに広告を入れるためのXcodeの設定方法(開発編)

さて、ここまで読んでいただいたという事は、Google AdMobの設定と公式ドキュメントの読み込み、組み込み方法を決定したところまでうまく行った方という事です。

ついにiPhoneアプリにAdMobを導入ということになりますので、Xcodeを起動して開発の準備をしましょう。

私自身これから、iPhoneアプリ開発を行い、アプリのリリースまで持っていく必要があるので、ドキュメントを読みながら進めていきたいと思います。

開発手順1-1:Google Admobのインストール(cocoapods利用時)

標準でGoogleで紹介されている方法としては、cocoapodsを使った方法でした。
基本的に、この方法を使わず、新規にサポートされている、Package Managerを使った方法で対応することにします。

iPhoneアプリには、GoogleのAdmobを導入すると良いとわかっていただけたかと思います。そのため、アプリをうまく作って、Admobを導入してみてください。

CocoaPods Guides
The Dependency Manager for iOS & Mac projects

この方法は、SwiftUIでは旧構造になりますので、次に挙げる方法を利用することをお勧めします。

開発手順1-2 推奨方法:Google Admobのインストール(Package Manager Swift.orgを使ってXcodeにインストールする)

では早速、SwiftUIのみを使ってXcodeでGoogle AdMobを導入する方法を紹介します。

操作方法としては、XcodeからGoogle AdMobのプログラムを探して設定するだけになります。

Google AdMobのソフトウェアがXcodeにインストールされることで利用されることになります。

Redirecting…

Xcodeを使ったSwift Package Managerは、Swiftコードの配布を管理するためのツールです。

Swiftビルドシステムと統合されており、依存関係のダウンロード、コンパイル、リンクのプロセスを自動化します。

パッケージマネージャーはSwift3.0以降に含まれています。

パッケージは、Swiftソースファイルとマニフェストファイルで構成されています。

マニフェストファイルはPackage.swiftと呼ばれる、モジュールを使用してパッケージの名前とその内容を定義しPackageDescriptionます。

パッケージには1つ以上のターゲットがあります。各ターゲットは製品を指定し、1つ以上の依存関係を宣言できます。

  1. Xcode で File > Add Packages… を開き、Google Mobile Ads の Swift パッケージをインストールします。
  2. 表示されたプロンプトで、Google Mobile Ads の Swift パッケージの GitHub リポジトリ(下記)を検索します。
  3. 表示された画面の右上の検索窓に以下のURLを入力します。
  4. https://github.com/googleads/swift-package-manager-google-mobile-ads.git
  5. 使用する Google Mobile Ads の Swift パッケージのバージョンを選択します。新しいプロジェクトの場合は [Up to Next Major Version] を選択することをおすすめします。

メニューに合わせて対応するだけですので、この対応は簡単でした。
cocoapodsを使わない方法です。簡単に対応できましたので、この方法をお勧めしています。

完了すると、Xcode はパッケージの依存関係の解決とバックグラウンドでのダウンロードを開始します。パッケージの依存関係の追加について詳しくは、Apple の記事を参照してください。

開発手順2:XcodeでのAdMobの設定を行う。

Google AdMobのパッケージがインストールできたら、次は、Xcode上での設定を始めましょう。

Info.plist を更新する。

Info.plist Fileにパスを設定する。

アプリの Info.plist ファイルを更新し、次の 2 つのキーを追加します。

1.AdMob アプリ ID(AdMob の UI で確認)の文字列値を含む GADApplicationIdentifier キー。

AdMobアプリを開き、アプリを仮登録して、アプリIDを取得します。
行を1行追加し、キーの追加とアプリIDを入力します。

2.Google の SKAdNetworkIdentifier 値(cstr6suwn9.skadnetwork)を含む SKAdNetworkItems キー。

これらの値を Google に提供したその他の購入者を選択します。

SKAdNetworkIdentifierとSKAdNetwork Itemsを入力の方法は、info.plist Fileをソースコード表示して、そのままリストをコピーして貼り付けましょう。

以下のクイックスタートに表示されている内容をコピーしましょう。

Get Started  |  iOS  |  Google for Developers
Learn how to get started with the SDK for iOS, including details of prerequisites, setup details, and an overview of ad types.

アプリ ID を確認する

  1. https://apps.admob.com から AdMob アカウントにログインします。
  2. サイドバーで [アプリ] をクリックします。
  3. [すべてのアプリ] をクリックします。
  4. [App ID] 列の コピー アイコンをクリックして、アプリの ID をコピーします。

広告ユニット ID を確認する

  1. https://apps.admob.com から AdMob アカウントにログインします。
  2. サイドバーで [アプリ] をクリックします。
  3. 広告ユニットに関連付けられているアプリの名前をクリックします。: 目的のアプリが最近使ったアプリの一覧にない場合は、[すべてのアプリ] をクリックして、アプリ名をクリックしてください。
  4. サイドバーで [広告ユニット] をクリックします。
  5. [広告ユニット ID] 列の コピー アイコンをクリックして、広告ユニットの ID をコピーします。
Find an app ID or ad unit ID - Google AdMob Help
During the final step of ad unit creation, you'll need to copy and paste the app ID and any ad unit ID(s) into your app's code. This article explains where to find and copy your app ID and ad unit ID(
Google and select third-party buyer SKAdNetwork identifiers  |  iOS  |  Google for Developers

開発手順3:Mobile Ads SDK を初期化する

さて、ようやくXcodeのSwiftUIでコードを組み込む段階にきました。

Mobile Ads SDKを実行前に初期化が必要になります。

まず、Xcode 12 / iOS 14から使えるようになったSwiftUI Appライフサイクルの場合、AppDelegate.swiftが存在しません。

そのため、プロジェクト作成時に作られるxxxApp.swiftを修正します。

注:プロジェクトのビルド設定で、 [Other Linker Flags] に -ObjC リンカーフラグを追加します。

広告を読み込む前に、GADMobileAds.sharedInstancestartWithCompletionHandler: メソッドを呼び出します。このメソッドは SDK を初期化し、初期化が完了(または 30 秒間のタイムアウトが経過)した時点で完了ハンドラをコールバックします。この処理が必要なのは 1 回のみで、アプリの起動時に行うのが理想的です。できるだけ早く startWithCompletionHandler: を呼び出してください。

開発手順3:AdMobでアプリをセットアップする。

Xcode側でアプリを設定が終わると、再度Google AdMobのサイトにiPhoneアプリの情報を設定します。

これでXcodeとAdMobサイトにアプリ開発の情報が設定されましたので、いよいよ実装に入ります。

設定お疲れ様でした。

Set up an app in AdMob - Google AdMob Help
To monetize apps in AdMob, first you need to set up your apps#monetizeapps #appset

コメント