スタートガイド

AdMob では、Google Mobile Ads SDK を使用します。Google Mobile Ads SDK は、アプリ デベロッパーがユーザーの情報を分析してアプリ内課金を促進し、広告収益を最大化できるように支援します。Mobile Ads SDK をデフォルトの方法で組み込むと、端末情報、パブリッシャーによって提供された位置情報、一般的なアプリ内課金情報(アイテムの購入価格や通貨など)といった情報が収集されます。

このスタートガイドでは、新しい iOS プロジェクトを作成する方法、Firebase や Google Mobile Ads SDK を含める方法、最初のバナー リクエストを行う方法について説明します。

Google が提供している広告ユニットとサンプルでは、テスト広告が返されます。テスト広告は、アカウントが停止中であったり、無効であったりしても、常時利用できます。詳細については、AdMob のポリシー無効な操作をご覧ください。

ご自分の実際の広告をクリックすることは、AdMob のポリシーに反します。開発およびテスト中は、テスト広告のみを使用してください。運用開始前に実際の広告を表示する必要がある場合は、広告をクリックしないようにしてください。実際の広告をクリックすると、AdMob アカウントが停止されることがあります。

事前準備

  • Xcode 7.0 以降
  • iOS 7.0 以降のデプロイ ターゲット
  • 有効な Xcode または Firebase プロジェクト
  • 推奨: CocoaPods をインストールして、依存関係の管理を簡略化

Banner Example をダウンロードする

Firebase および Mobile Ads SDK を追加する

Firebase と AdMob が連携する仕組みや、その影響について詳しくは、Firebase と AdMob の使用に関するページをご覧ください。

AdMob は、Firebase モバイル サービス プラットフォームの一部です。このプラットフォームは、GoogleService-Info.plist というファイルを使用してアプリに関する設定情報を保存します。本演習を完了するには、このファイルが必要です。

これを取得する最適な方法は、Firebase console にログインして、アプリを登録することです。この方法だと無料ですぐに取得できます。バンドル ID を求められたら、テストに使用するプロジェクトのバンドル ID を入力してください。

CocoaPods を使用した効率的な方法

Podfile を作成する

BannerExample.xcodeproj ファイルと同じディレクトリに、次の内容を含む Podfile という名前のファイルを作成します。

source 'https://github.com/CocoaPods/Specs.git'

platform :ios, '7.0'

target 'BannerExample' do
  pod 'Firebase/Core'
  pod 'Firebase/AdMob'
end

pod install を実行する

Podfile と同じディレクトリで、ターミナルから pod install を実行します。インストールが完了したら、BannerExample.xcodeproj を閉じて、BannerExample.xcworkspace を開きます。プロジェクト ファイルに、Firebase と AdMob 用の新しい依存関係を含む Pods プロジェクトを含める必要があります。

SDK ダウンロードを使用した手動による方法

CocoaPods を使用せずに統合するには、Google Mobile Ads SDK をダウンロードする手順が示されています。AdMob フォルダと Analytics フォルダのすべての内容を含めてください。

フレームワークを追加する

BannerExample プロジェクトを右クリックして、[Add Files To "BannerExample"] を選択します。

画面下部の [Options] ボタンをクリックし、[Copy destinations if needed] チェックボックスをオンにします。次に、[Add] をクリックして、GoogleMobileAds.framework を追加します。

[Options] ボタンをクリックし、[Copy items if needed] チェックボックスをオンにします。

フレームを追加します。

プロジェクトを再ビルドする

プロジェクトを再ビルドして実行します。アプリには引き続き空白の画面が表示されますが、アプリから Google Mobile Ads SDK が参照されています。これで、最初のバナー リクエストに進むことができます。

最初のバナー リクエスト

プロジェクトが SDK を参照するようになりました。次に、プロジェクトにバナー広告を設置します。

GADBannerView はストーリーボードまたはコードから作成できます。レイアウトは通常、ストーリーボードで定義されるため、このスタートガイドではストーリーボードを使用する方法を説明します。

ストーリーボードに GADBannerView を追加する

[Main.storyboard] タブをクリックします。右下で UIView 要素を選択し、ビュー コントローラにドラッグします。次に、右上の [Custom Class] セクションで、カスタムクラス GADBannerView をこのビューのクラスとして選択します。

GADBannerView に制約を追加する

GADBannerView で次の制約を設定します。

  • 画面下部でビューを見つけます。
  • ビューのサイズを 320(幅)× 50(高さ)に設定します。
  • 中央に表示します。

ビューが選択されていることを確認し、画面下部の Pin アイコンをクリックします。バナー下部の値を 0 にして [Spacing to nearest neighbor] 制約を追加します。これで、ビューが画面下部に固定されます。

また、幅と高さの制約のチェックボックスをオンにして、それぞれ 32050 に設定し、ビューのサイズを設定します。

Pin アイコンの左にある Align アイコンをクリックし、[Horizontal Center in Container] に値 0 を指定して、制約を追加します。これにより、バナーが画面下部に水平に表示されます。

制約の変更後にビューの位置を確認するには、Pin アイコンの右にある Resolve Auto Layout Issues アイコンを選択し、[Update Frames] を選択します。

次の画面下部にある境界ボックスに示されているように、バナーが適切な位置に表示されるようになりました。

コードに GADBannerView への参照を追加する

GADBannerView が広告を読み込むには、コード内に参照が必要です。[View] > [Assistant Editor] > [Show Assistant Editor] に移動して、Assistant Editor を起動します。Assistant Editor(画面の右ペイン)に ViewController.h ファイルが表示されていることを確認します。次に、Ctrl キーを押したまま GADBannerView(中央ペイン)をクリックし、カーソルを ViewController.h までドラッグします(中央ペインから右ペインに伸びる青のライン)。

Swift プロジェクトの場合は、上記のステップを行いますが、ViewController.swift ファイルに GADBannerView への参照を追加します。Xcode により、プロパティが生成され、接続が行われます。これに「bannerView」という名前を付けて、[Connect] を選択します。

コンパイル エラーを解決するため、GADBannerView が有効なクラスとして認識されるように、@import GoogleMobileAds を ViewController.h に追加するか、import GoogleMobileAds を ViewController.swift に追加します。

Objective-C

ViewController.h
#import <UIKit/UIKit.h>

@import GoogleMobileAds;

@interface ViewController : UIViewController

@property (nonatomic, weak) IBOutlet GADBannerView  *bannerView;

@end

Swift

ViewController.swift
import UIKit
import GoogleMobileAds

class ViewController: UIViewController {

  @IBOutlet weak var bannerView: GADBannerView!

} 

Google Mobile Ads SDK を初期化する

アプリの起動時に、AppDelegate.m または AppDelegate.swiftapplication:didFinishLaunchingWithOptions: メソッドで configureWithApplicationID: を呼び出して、Google Mobile Ads SDK を初期化します。

Objective-C

AppDelegate.m
- (BOOL)application:(UIApplication *)application
    didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

  // Use Firebase library to configure APIs
  [FIRApp configure];
  [GADMobileAds configureWithApplicationID:@"ca-app-pub-3940256099942544~1458002511"];
  return YES;
}

Swift

AppDelegate.swift
func application(_ application: UIApplication,
    didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {

  // Use Firebase library to configure APIs
  FIRApp.configure()
  GADMobileAds.configure(withApplicationID: "ca-app-pub-3940256099942544~1458002511")
  return true
}

アプリの起動時に Google Mobile Ads SDK を初期化すると、SDK がアプリレベルの設定をフェッチし、設定作業にかかる時間を最大限に短縮できるため、最初の広告リクエストのレイテンシを減らすことができます。初期化にはアプリ ID が必要です。アプリ ID とは、モバイルアプリを AdMob コンソールで登録するときに付与される固有の ID です。

アプリ ID を見つけるには、AdMob アカウント ページの右上にある設定プルダウンの [アプリ管理] オプションをクリックします。アプリ ID は ca-app-pub-XXXXXXXXXXXXXXXX~NNNNNNNNNN という形式です。

GADBannerView に広告を読み込む

最後に、ViewController.m または ViewController.swift に、広告をバナービューに読み込むコードを追加します。

Objective-C

ViewController.m
- (void)viewDidLoad {
  [super viewDidLoad];

  NSLog(@"Google Mobile Ads SDK version: %@", [GADRequest sdkVersion]);
  self.bannerView.adUnitID = @"ca-app-pub-3940256099942544/2934735716";
  self.bannerView.rootViewController = self;
  [self.bannerView loadRequest:[GADRequest request]];
}

Swift

ViewController.swift
override func viewDidLoad() {
  super.viewDidLoad()

  print("Google Mobile Ads SDK version: " + GADRequest.sdkVersion())
  bannerView.adUnitID = "ca-app-pub-3940256099942544/2934735716"
  bannerView.rootViewController = self
  bannerView.load(GADRequest())
}

読み込む広告を指定するには、次の 3 つの変更を行います。

  1. viewDidLoad メソッドで、バナーに広告ユニット ID を設定します。ここでは、上記で提供されたテスト広告ユニット ID を使用できます。ただし、アプリで使用するには、後ほど AdMob インターフェースから広告ユニット ID を作成する必要があります。アプリを初めて AdMob と統合するときは、必ず、提供されたテスト広告ユニット ID を使用するか、テスト広告を参照してテスト端末を指定してください。

    ご自分の実際の広告をクリックすることは、AdMob のポリシーに反します。開発およびテスト中は、テスト広告のみを使用してください。運用開始前に実際の広告を表示する必要がある場合は、広告をクリックしないようにしてください。実際の広告をクリックすると、AdMob アカウントが停止されることがあります。

  2. ルート ビュー コントローラを、GADBannerView を含むビュー コントローラに設定します。このビュー コントローラは、広告がクリックされた際に、オーバーレイを表示するために使用されます。

  3. GADBannerViewloadRequest: を、GADRequest オブジェクトを指定して呼び出します。

アプリをビルドして実行する

アプリをビルドして実行します。画面下部にテストバナー広告が表示されます。

以上の手順で、最初の広告リクエストを正常に行うことができました。

GitHub 上で設定済みサンプルを確認する

Objective-C

 verbatim bf0a6bc18b8faced26dee6658c4e4afc #import "ViewController.h"

@implementation ViewController

- (void)viewDidLoad {
  [super viewDidLoad];

  // Replace this ad unit ID with your own ad unit ID.
  self.bannerView.adUnitID = @"ca-app-pub-3940256099942544/2934735716";
  self.bannerView.rootViewController = self;

  GADRequest *request = [GADRequest request];
  // Requests test ads on devices you specify. Your test device ID is printed to the console when
  // an ad request is made. GADBannerView automatically returns test ads when running on a
  // simulator.
  request.testDevices = @[
    @"2077ef9a63d2b398840261c8221a0c9a"  // Eric's iPod Touch
  ];
  [self.bannerView loadRequest:request];
}

- (void)didReceiveMemoryWarning {
  [super didReceiveMemoryWarning];
  // Dispose of any resources that can be recreated.
}

@end endverbatim bf0a6bc18b8faced26dee6658c4e4afc 

Swift

 verbatim 8d0e06efed63e0e2d718f4ea44722a3f import GoogleMobileAds
import UIKit

class ViewController: UIViewController {

  /// The banner view.
  @IBOutlet weak var bannerView: GADBannerView!

  override func viewDidLoad() {
    super.viewDidLoad()
    print("Google Mobile Ads SDK version: \(GADRequest.sdkVersion())")
    bannerView.adUnitID = "ca-app-pub-3940256099942544/2934735716"
    bannerView.rootViewController = self
    bannerView.load(GADRequest())
  }

}
 endverbatim 8d0e06efed63e0e2d718f4ea44722a3f 

バナーサンプルの実装の全体については、GitHub を参照してください。

Objective-C Swift

次のステップ

AdMob でこれ以上のことを行うには、AdMob アカウントに登録してください。

フルスクリーンのインタースティシャル広告については、インタースティシャル広告をご覧ください。

バナー実装をより詳細に調整するには、以下のガイドをご覧ください。

よくある質問

CocoaPods を使用しています。SDK を更新するにはどうすればよいですか?
ターミナルから、Podfile があるディレクトリで pod update を実行します。
テスト広告を使用する必要はありますか?
はい。ご自分の実際の広告をクリックすることは、AdMob のポリシーに反します。開発およびテスト中は、テスト広告のみを使用してください。運用開始前に実際の広告を表示する必要がある場合は、広告をクリックしないようにしてください。実際の広告をクリックした場合、AdMob アカウントが停止されることがあります。詳細については、AdMob のポリシー無効な操作をご覧ください。
実際の端末でテスト広告を取得するには、どうすればよいですか?
テスト端末 ID を取得する手順については、テスト広告をご覧ください。
AdMob 広告ユニット ID を取得するには、どうすればよいですか?
AdMob 広告ユニット ID(ca-app-pub-XXXXXXXXXXXXXXXX/NNNNNNNNNN)の形式に注意しながら、広告ユニット ID を作成してください。
「無効かつ不明なリクエスト エラー: リクエストの種類を特定できません。広告ユニット ID に間違いはありませんか?」というエラー メッセージが表示されます。
広告ユニット ID に間違いがないことをご確認ください。この ID の形式は ca-app-pub-XXXXXXXXXXXXXXXX/NNNNNNNNNN です。このエラーは、pub-XXXXXXXXXXXXXXXX のような他の形式を使用した場合に発生します。

フィードバックを送信...