[iPhone SDK] iAd 組み込みでひっかかったこと

公開日: : iPad, iPhone ,

iAd は iAd Programming Guide を読んだりすればとても簡単にアプリへの組み込みが可能。
ただ、いくつかはまりポイントがあるのでメモを書いてみる。
まず、iAd は iAd が始まっている国でなければ表示してはいけない。
自分は AdMob と同じ感じでいつでも表示するコードを書いていたが、これにより一度App StoreでのレビューでRejectされてしまった。
iAd が使えるかどうかは ADBannerViewDelegateで知ることができる。コード的にはこんな感じだろうか。
自分は画面の下端に置いているので、最初は画面外に出しておいて、bannerViewDidLoadAd:されたら画面をずらして可視にしている。
App Storeのレビューアーからのサンプルコードもこんな感じだったような。

#pragma mark ADBannerViewDelegate
- (void)bannerViewDidLoadAd:(ADBannerView *)banner
{	
    if (self.bannerIsVisible) {
		// すでにロードされている
	} else    {		
		// 50ドット上にずらして画面を可視にする
        [UIView beginAnimations:@"animateAdBannerOn" context:NULL];		
        banner.frame = CGRectOffset(banner.frame, 0, -50);		
        [UIView commitAnimations];		
        self.bannerIsVisible = YES;		
    }	
}

- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error
{
	if (self.bannerIsVisible)
	{
		// 失敗したので画面外に出す
		[UIView beginAnimations:@"animateAdBannerOff" context:NULL];
		banner.frame = CGRectOffset(banner.frame, 0, 50);
		[UIView commitAnimations];
		self.bannerIsVisible = NO;
	}
}

TestAdvertisement.png

それと、iAd は App Store で公開されるまでは Test Advertisement を表示する(上がその画面キャプチャ)が、これを表示した状態でスクリーンキャプチャをとって App Storeに提出するとRejectされてしまう。
自分は上記2つの理由で最初はRejectされていた。
このため、スクリーンキャプチャをとるときには一時的に iAd を表示しない状態にする必要がありそうだ。
間違って非表示状態でそのままSubmitしてしまわないように気をつけよう。

さらに、実装を完了して無事公開されても iTunes Connect の方で iAd をEnableにしておかないと、iAd は表示されないようだ。
しかも、Ready for Sale になった後では Enable にできず、Submit して Ready for Sale になるまでの間に Enableにしないといけないようだ。
自分はこのために一度無駄にアップデートをすることになった。

まあこういう状態がいつまで続くかが分からないけれども一応参考まで。

関連記事

Flurryでアプリ利用状況解析

ブログには書く機会がなかったが、昔からアプリで Flurry をアプリに組み込んで、利用状

記事を読む

EverLearnのURLスキーム

EverLearn の URL スキームをちゃんと公開していなかったので公開しました。EverLea

記事を読む

[Xcode 9.3] iOS 11.3にしたら Xcode 9.3 + High Sierra が強制された

High Sierra はいろいろとアグレッシブな変更が入っており不安定と聞いていたので避けて通って

記事を読む

no image

iPhone開発のネタ帳: コールアウト代用部品を作る

Map Kit を使うと、地図上に吹き出しのようなものを表示できる。この吹き出しのようなものをコ

記事を読む

no image

タッチ! アメリカ地図 1.0.1 アップデート

タッチ! アメリカ地図 のアップデート(バージョン 1.0.1)を8月から5ヶ月ぶりにApp Sto

記事を読む

dyld`__abort_with_payload:でクラッシュ WatchKitApp on Xcode11.1

Xcode 11.0 や Xcode11.1で以前はビルドして実行できていたWatchKi

記事を読む

新アプリ「コードちゃん」を公開しました

速報:新 iPad 発表。Apple Pencil対応で3万7800円から - Engadget

記事を読む

Siri Shortcuts に対応

正月休み中なので、ブログ記事が書きやすい。毎年この時期だけはよくブログを書いている気がする。

記事を読む

no image

HTML5+CSS3で作る 魅せるiPhoneサイト

iPhone向けWebページの実例を使って、CSS+HTML5の使い方を説明してくれる本。 CS

記事を読む

EverLearn 1.9.0 に音声認識機能を追加しました

EverLearn 1.9.0 にて音声認識機能を追加しました。ホーム画面から、マイクボタンを押して

記事を読む

Message

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

Apple Developer Program更新 2024

今年も更新した。 昨年はブログに記録し忘れたらしい。 今

ポモドーロテクニック用物理タイマーならTime Timer

会社ではなかなか自由に時間を使えないが、家で読書や作業をする

DELL 32インチディスプレイ U3223QE 購入

Dell U3223QE は解像度 3840x216

WWDC 2023 Vision Pro発表

2023/6/5 (日本時間 2023/06/06 2AM)のWWD

M1 MacBook Air を Venturaにアップデートする

M1 MacBook Air を macOS Montere

→もっと見る

PAGE TOP ↑