はじまり
ルーレットアプリをバージョンアップしてAppStoreに公開の申請をした時の話です。
今回はプレミアム機能をアプリ内課金で購入するための画面を組み込みました。
他のアプリでも使っている画面をコピーして、このアプリ用に少々修正して組み込む作業で、これはいつもの作業で、他のアプリでの動作実績もあり問題ないはずでした。
…しかし、レビュー結果はリジェクト
Guideline 3.1.1 – Business – Payments – In-App Purchase
ガイドラインを表示
「復元機能が見当たらないので実装して!」という内容
知ってます
実装もしています
実績もあります
返信した
これは少し前に公開したDaysKeeperの申請でも同じ指摘があったので、またかと思いすぐに説明用の画像を添付して返信しました。
しかし、同じようにリジェクトされてしまいました。
対応した
この画面は3ページ構成になっていて
- 機能の種類を一覧する画面
- 選択した種類の課金項目(プロダクトという)を一覧する画面
- 選択したプロダクトの購入画面
復元機能はプロダクトを決定して実際に購入する3ページ目の画面に付けています。
今回リジェクトになったのは、2ページ目でプロダクトの一覧が表示されず、プロダクトが選択できないので3ページ目に行けない事で「復元機能が見当たらない」となったようでした。
その時点でこちらの端末では、iPhoneでもiPadでも表示されていたので動画を撮って説明しました。
こちらでは動作確認をしてスクリーンショットも撮って申請しているので、一覧に表示されないはずがないと思っていますが、もしかしたら復元ボタンで復元すると一覧も表示されるのではないかと考え、2ページ目にも復元ボタンを付けて再提出しました。
気ついてしまった
この2ヶ月の間に同じような理由で2度もリジェクトされたので、何かあるのでは?と思い、レビュー担当者が撮ったスクリーンショットを見直してみました。
どちらもiPadを使っています。
最近公開しているアプリは、ほとんどiPhoneとiPadの両対応にしているので、画面の大きいiPadでレビューするんだろうなぁ〜と思ったその時、
気づいてしまいました!
あのマークがない!
試しにiPadでWi-Fiを切って表示させると同じ現象が再現できました。
そうです、課金項目を表示させるためにはネットワークに接続している必要があって、Storeから最新の価格を取得して表示させる決まりになっています。そのためネットワークに接続していない場合は一覧が表示されないのは当然の結果だったのです。
疑惑が生じた
この2件の結果、「レビュー担当者はiPadをネットワークに繋がない」疑惑が生じたのです。Appleの規則でそうしているのか、担当者がうっかりしていたのか、iPadが故障していたのか…
前回と今回のレビュー担当者が同一人物かは不明で、この時点で既に再レビューが始まっていて返信ボタンが使えなくなっていたので、伝える事も確認する事もできなくなっていました。
(補足:メールのcontact usから連絡できるようですが思いつかなかった)
再度リジェクトされた時に伝えようと思いましたが、その後、無事審査が通ったので謎のままで終わりました。
いずれにしても、ネットワークに繋いていない人がいて、その事に気づかずバグだと思う人もいる事がわかった事で、アプリに改善点がある事に気づいたのでした。
アプリの改善点
今回の件で、今後アップデートする際のアプリの改善点として2点
プロダクトの一覧画面に
・プロダクトが取得できなかった場合、ネットワーク接続の確認を促すメッセージを表示する
・(一応)復元ボタンを追加する
勉強になりました。