Copyright (C) iPhoneアプリ開発備忘録 All rights reserved.
ブログ内で記したコード、内容の正確性は保証いたしません。
記載内容を実装したことにより発生した不具合・損害等の責任は一切負いません。



2015年02月12日

AdMobインタースティシャルで2回目以降の広告表示時に、"Request Error: Will not send request because interstitial object has been used"と表示される場合の対処法



AdMobインタースティシャル広告を表示する場合、公式(日本語)の通りに組み込むと、1回目の表示は成功するが、2回目以降はコンソールログに"Request Error: Will not send request because interstitial object has been used" と表示されて、広告が表示されない。

2回目以降も表示するようにするためには、インタースティシャル広告が閉じられたときに、新たな広告リクエストをしなければならない。

ViewController.h
#import "GADInterstitial.h"

@interface ViewController : UIViewController <GADInterstitialDelegate>
{
GADInterstitial *interstitial_; // AdMobインタースティシャル広告
}


ViewController.m
- (void)viewDidLoad {

[super viewDidLoad];

// AdMobインタースティシャルのロード
[self interstitialLoad];
}

- (void)interstitialLoad {

// AdMobインタースティシャルのロード
interstitial_ = [[GADInterstitial alloc] init];
interstitial_.adUnitID = @"YOUR-PUBLISHER-ID";
interstitial_.delegate = self;
[interstitial_ loadRequest:[GADRequest request]];

}

- (void)interstitialDidDismissScreen:(GADInterstitial *)interstitial {

[self interstitialLoad];

}

- (void)hoge {
// AdMobインタースティシャル広告の表示
if ([interstitial_ isReady]) {
[interstitial_ presentFromRootViewController:self];
}
}


解説
1. viewDidLoad にて、初回のインタースティシャル広告のリクエストを行う。
2. hogeメソッドでインタースティシャル広告を表示する。
3. インタースティシャル広告が閉じられると、GADInterstitialDelegateメソッドの interstitialDidDismissScreen が呼ばれる。ここで、次に表示するインタースティシャル広告のリクエストを行う。

参考記事:
https://developers.google.com/mobile-ads-sdk/docs/admob/ios/interstitial#only_load_gadinterstitial_once
https://developers.google.com/mobile-ads-sdk/docs/admob/advanced?hl=ja#ios
http://stackoverflow.com/questions/24350523/admob-interstitial-shown-only-once-on-ios 
 
タグ:apple iPAD Mac IOS iPhone
posted by mobileDeveloper at 20:24 | Comment(0) | TrackBack(0) | AdMob はてなブックマーク - AdMobインタースティシャルで2回目以降の広告表示時に、 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック
Apple、Appleのロゴ、App Store、iPodのロゴ、iTunesは、米国および他国のApple Inc.の登録商標です。
iPhone、iPod touch、iPadはApple Inc.の商標です。
iPhone商標は、アイホン株式会社のライセンスに基づき使用されています。
その他、本ブログに記載されている製品名、会社名は、それぞれ各社の商標または登録商標です。