iOS課金付きアプリ申請したら、購読型課金を強制された


まず、どうして購読型課金を強制されたのか

『購入後3ヶ月間自社サービスを提供するための課金』を消化型アイテムとして申請したからだ。
アップルはこのような種類の商品は購読型にするべきだとしつこく主張する。

どうして購読型課金にしなかったのか

ご存知の方もいると思うが、Apple IDを一意に表現できるIDのようなものを取得する機能が、iOS SDKから一切提供されていない。
アプリの造りとして、そのApple IDを使用している端末が、ある商品を購読中かどうかだけ判定すれば良いのであればそれで構わない。

しかし、例えば自社サーバー上にエンドユーザーのアカウントをアプリが初回起動時に自動作成し、ユーザーによってサービスが課金されたかどうかをアカウントに紐づけて扱う場合、不都合が生じる。

Apple IDを一意に表せるものがないということはApple IDと自社サービス上のアカウントを1対1で関連づけることができない。
なので現在は端末のUUIDとアカウントを関連づけているので、端末とアカウントが1対1で関連づいているということだ。

つまり、同じApple IDを使用する別の端末を利用すると、すでに購読課金をしていた場合、サービスは未課金の状態と認識されているのに、Appleアカウントではすでに課金されていることになるので再課金もできない。
また、サービス上、使用回数制限を伴うものを扱っているので、1つの購読課金に対して複数のアカウント(端末の数だけ)を課金したアカウントと扱うわけにもいかない。

このサービスのアカウントを手動ログイン方式にした場合も問題解決にはならない。
なぜなら、全てのユーザーがきちんと同じApple IDを利用する端末間で同じアカウントにログインしてくれたら問題はないが、そうでない場合、問題は悪化する。さらに異なるApple IDで使用される端末でもサービスを利用可能となる。

そこで、あくまで課金は1つの端末のみでサービスを使用できるようにするためのものとした。消化型課金アイテムは購入処理が終わると、即座にそのユーザーのアカウントに購入した事実を伝え、的確に処理が完了すると消化されるようにした。

そして購読型課金を強制された

上記のことをアップルには解りやすく何度も説明したつもりだ。アップルは頑なにNoの姿勢。
そこで、このように提案してみた。
「これは購読型のサービスではなく、一定期間サービスを利用するための利用権の引換券である。引換券は他のアプリにもよくみられる『コイン』などと同様な商品のはずだ。一般的に『コイン』は通常、消化型課金であり、課金後、開発会社自身のサービスでレシートが確認されれば、サービス上で『コイン』は発行され、アプリはそれを受けて消化型課金を消化するようAppleのサービスに対して申請するものだ。また、必要ならiTunes Connectに登録している課金アイテム説明文から『〇ヶ月間サービスを利用する権利』という文言を取り除く。」

アップルはそれに対し、「それは一つの対処法になるかもしれない」と返事をくれたが、その段階ではまだ、「そうすればリリースを許可する」とは約束はしなかった。

結果報告

無事、アプリとその課金アイテムは審査を通過した。
「3ヶ月間」という文言をストア登録情報から省き、アプリ内部で説明をすることによって解決した。しかし、アプリの根本的な部分が変わった訳ではない。そしてこれまでにあるような妥協案の説明によって審査を通過できたということは、あくまで審査員というおそらく一人の人間の説得に成功したからだろう。(最低限のガイドラインはあるにしても。)そしてその人間はたくさんいるであろう審査員の中からおそらくランダムで割り振られる。もしかしたら、いくら説得しても折れない人間、理解に及ばない人間もいるだろう。つまりアプリ審査は、いままでも、これからも「運ゲー」だ。