[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にしないといけないようだ。
自分はこのために一度無駄にアップデートをすることになった。

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

関連記事

no image

iPhone SDK開発のネタ帳 Observerパターン

Head First デザインパターンでも2番目に紹介されているObserverパターン。使用頻度も

記事を読む

コードちゃん 1.2.1 をリリースしました

3年以上アップデートしていなかった、コードちゃん をアップデートしました。 Cmb5

記事を読む

The file XXX couldn’t be opened because you don’t have permission to view it.

The file XXX couldn't be opened because you d

記事を読む

[iOS SDK] UIAlertView が消えた後にキーボードが表示される

昔書いたコードで、UIAlertView に setAlertViewStyle で UIAlert

記事を読む

[i0S8] presentModalViewController で表示している画面で文字が切れる

iOS8 を甘く見ていたようで、いろいろな問題が発生している。 今回発見したのは おんぷち

記事を読む

[iOS SDK] 文字列をローカライズする際に使える awk スクリプト

iOSで文字列をローカライズする際に Localizable.strings ファイルに "ロ

記事を読む

開発用iPad比較検討2016

手持ちのiPad2およびiPad mini 初代がiOS10のサポート対象から外れてしまったので、i

記事を読む

Parse から Heroku, AWSへの移行ガイド

2017年1月28日にParseのサービスが終了するという衝撃的なニュース(Moving On)

記事を読む

久々に Reject をくらった話

稼働日カウントダウンという昔作ったアプリにAppStoreのレビューのコメントでリクエストがあった。

記事を読む

no image

[iOS SDK] Pebble腕時計対応iOSアプリを作る

英単語学習アプリ WordLearnをリリースしましたに書いたけれども今Pebble腕時計対応iOS

記事を読む

Message

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Break Back 22巻まで読了

テニス漫画と言えば、ベイビーステップスだと思っていたし、全巻持ってい

TORRAS iPhone 16 Pro Max用ケース

自分はiPhoneはケースを付けない派で、iPhone 12

iPhone 16 Pro Max 購入

iPhone 16 Pro Max 256GB 189000

Ember Mug 2のACアダプタをUSB Type-Cに変えてみた

冬になると活躍する Ember Mug 2 の充電器は付属のACアダ

Wi-Fi6Eルータ TP-Link AXE5400購入

Wi-Fi6E を試してみたくなり、TP-Link AXE5

→もっと見る

PAGE TOP ↑