インタースティシャル広告

インタースティシャル広告は、アプリの上にオーバーレイで表示されるフルスクリーン広告です。通常は、ゲーム内で新しいレベルに変わるときなど、アプリの画面が切り替わる自然なタイミングで表示されます。

このガイドでは、インタースティシャル広告を DFP モバイル広告で iOS アプリに組み込む方法を説明します。

前提条件

参考情報

  • インタースティシャル広告のサンプルを GitHub からダウンロードし、手順に従ってプロジェクトに組み込むことができます。

    Objective-C Swift

  • インタースティシャル広告のメリットを十分に活用するには、広告イベントガイドをご覧ください。このガイドには、インタースティシャル広告を広告イベントに導入する高度な事例が掲載されています。

DFP でインタースティシャル広告ユニットを作成する

DFP でインタースティシャル広告ユニットを作成します。インタースティシャル広告ユニットは、端末の実際の画面サイズにかかわらず、一般的な 4 つのサイズから 1 つ選んで定義します。端末の画面サイズと多少異なっていても、SDK によってクリエイティブが正しくレンダリングされます。

  • スマートフォン: 320×480(縦向き)、480×320(横向き)
  • タブレット: 768×1024(縦向き)、1024×768(横向き)

横向きを選択した場合、別途新しい広告ユニットを作成する必要はありません。作成したインタースティシャル広告ユニットを対象とする広告申込情報に横向きのサイズ(スマートフォンの場合は 480×320)を追加し、縦向きだけでなく横向きのサイズのクリエイティブを含めるだけでかまいません。

インタースティシャル広告をアプリに表示する

DFPInterstitial は、アプリ起動時にプリロードし、アプリの画面が切り替わる自然なタイミングで表示するというライフサイクルでの設定をおすすめします。このガイドのサンプルコードは、ゲーム内でインタースティシャル広告がどのように表示されるかを表しています。このコードでは、インタースティシャル広告がゲームの開始時に読み込まれ、ゲームの終了時に表示されます。

ゲームの開始時に DFPInterstitial を作成し、読み込むには、次のコードのように設定します。

Objective-C

@import GoogleMobileAds;

@interface ViewController ()

@property(nonatomic, strong) DFPInterstitial *interstitial;

@end

@implementation ViewController

- (void)viewDidLoad {
  [super viewDidLoad];

  [self startNewGame];
}

- (void)startNewGame {
  [self createAndLoadInterstitial];

  // Set up a new game.
}

- (void)createAndLoadInterstitial {
  self.interstitial = [[DFPInterstitial alloc] initWithAdUnitID:@"/6499/example/interstitial"];
  [self.interstitial loadRequest:[DFPRequest request]];
}

Swift

import UIKit
import GoogleMobileAds

class ViewController: UIViewController {

  var interstitial: DFPInterstitial!

  override func viewDidLoad() {
    super.viewDidLoad()

    startNewGame()
  }

  private func startNewGame() {
    createAndLoadInterstitial()

    // Set up a new game.
  }

  private func createAndLoadInterstitial() {
    interstitial = DFPInterstitial(adUnitID: "/6499/example/interstitial")
    interstitial.loadRequest(DFPRequest())
  }
}

インタースティシャル広告を表示する準備ができたら、表示の前に準備できているかどうかを確認します。次の例では、ゲームオーバー時にインタースティシャルを表示します。アプリは、このメソッドを適切なタイミングで明示的に呼び出す必要があります。

Objective-C

- (void)endGame {
  [[[UIAlertView alloc]
          initWithTitle:@"Game Over"
                message:@"Your time ran out!"
               delegate:self
      cancelButtonTitle:@"Ok"
      otherButtonTitles:nil] show];
}

- (void)alertView:(UIAlertView *)alertView willDismissWithButtonIndex:(NSInteger)buttonIndex {
  if (self.interstitial.isReady) {
    [self.interstitial presentFromRootViewController:self];
  } else {
    NSLog(@"Ad wasn't ready");
  }
  // Give user the option to start the next game.
}

Swift

private func endGame() {
  UIAlertView(title: "Game Over",
              message: "Your time ran out!",
              delegate: self,
              cancelButtonTitle: "Ok").show()
}

func alertView(alertView: UIAlertView, willDismissWithButtonIndex buttonIndex: Int) {
  if interstitial.isReady {
    interstitial.presentFromRootViewController(self)
  } else {
    print("Ad wasn't ready")
  }
  // Give user the option to start the next game.
}

結果

インタースティシャル広告が表示されると、アプリは次のようになります。

DFPInterstitial の使用は 1 回のみ

DFPInterstitial は使い捨てオブジェクトです。つまり、インタースティシャル広告を一度表示すると、hasBeenUsedtrue を返し、同じインタースティシャルで他の広告を読み込めなくなります。他のインタースティシャルをリクエストするには、新しい GADInterstitial オブジェクトを作成します。上記のように、ヘルパー メソッドを実装して、インタースティシャルの作成と読み込みが行われるようにすることをおすすめします。

よくある質問

インタースティシャル広告のユーザー エクスペリエンスを最適化するにはどうすればよいですか?
インタースティシャルの導入に関するガイドラインをご覧ください。
「Cannot present interstitial. It is not ready」(インタースティシャルを表示できません。準備できていません)というエラーが表示されます。
このエラーは、インタースティシャル広告を正常にフェッチできなかったことを意味します。この警告が発生しないようにするには、isReady メソッドを使用して、インタースティシャルを表示する準備ができているかどうかを確認します。
「Request Error: Will not send request because interstitial object has been used」(リクエスト エラー: インタースティシャル オブジェクトが使用済みのためリクエストは送信されません)というエラーが表示されます。
インタースティシャルは使い捨てオブジェクトです。他のインタースティシャル広告をリクエストするには、新しいインタースティシャル オブジェクトを作成する必要があります。
「Request Error: No ads to show」(リクエスト エラー: 表示する広告がありません)というエラーが表示され、広告が表示されません。
広告申込情報に、対象サイズが適切なクリエイティブが含まれていることを確認してください。インタースティシャルのサイズは、スマートフォンでは 320×480 や 480×320、タブレットでは 1024×768 や 768×1024 です。端末が 1024×768 や 768×1024 のサイズを表示できる大きさでない場合は、320×480 や 480×320 のサイズに切り替えられます。

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

ご不明な点がありましたら、Google のサポートページをご覧ください。