頭と尻尾はくれてやる!

パソコンおやじのiPhoneアプリ・サイト作成・運営日記


アプリ内課金でインジケーターはどうする?

アプリ内課金でユーザーがパスワードを入力してる間にインジケーター(UIActivityIndicatorViewオブジェクトね)がクルクル回っているのが見えてるとやっぱりうっとおしいと思うじゃない。なんだかせかされてるみたいでさ。

それでパスワード入力中は止めておいて、入力が終了した時点で再スタートさせるためにそのタイミングを得たいんだけど、SKPaymentTransactionObserverあたりを見てもそれらしいメソッドが見当たらないんだよ。

他のアプリ内課金をしてるアプリはどうやってるんだろうって調べてみたら、Temple RunとGoodNotesはパスワード入力中にインジケーターがクルクル回っているんだよ。

Temple Runのアドオン購入時画面
GoodNotesのアップグレード時の画面

↑上がTemple Run、下がGoodNotes。どちらもうっすらインジケーターが回っているんだ。

なんだ、やっぱりできないんだって思ったんだけど、Bamboo Paperってノートアプリがどういうわけかうまく実装してるんだよ!
何回も何回も確認してるうちに間違って本当に支払い完了しちゃって、無駄に170円支払っちゃったよ。もったいないなあ。
ともかく、実装してるアプリがあるんだからきっとうまいやり方があるんだろうと思って調べまくったよ。

alertViewっぽいものが消えた瞬間だからさ、タイマーを設定してアプリのwindowsから下にあるviewを全部調べてalertViewが消えた瞬間を得ようとしたんだけどこの方法はダメだったよ。アプリからじゃ届かないビューあたりに表示してるみたいだね、あれは。

他にも通信状態でもチェックしてるのかなって調べたりしたけどよくわからない。
@iphone_dev_jpで質問もしてみたんだけど方法は結局よくわからず、、、あきらめたよ。

結局アラートビュー(?)になるべく隠れるようにインジケーターの位置を設定する、というなんとも楽しくない方法で回避しちゃったよ。
iPhoneだとまあいいんだけど、iPadだとLandscapeでRestoreの場合だったかだけは隠れずに見えてたりするんだけどね。
まあ見えていてもいいって開き直るしかないね!

<< 貝塚のカフェレストランseedでランチしてきたよ   TopPage  アプリ内課金用にテストユーザーを作る時の注意 >>

コメント


管理者にだけ表示を許可する
 

トラックバック

トラックバックURL
http://ringsbell.blog117.fc2.com/tb.php/563-29f52328




Copyright ©頭と尻尾はくれてやる!. Powered by FC2 Blog. Template by eriraha.

FC2Ad