スマホアプリ(iOS/Android)で有料会員のみに一部コンテンツへのアクセスを可能とさせる場合、通常はApple/GoogleにてI/Fが用意されているアプリ内課金の仕組みで実装するのが正攻法と考えられる。
しかし、例えばAmazonのPrime videoなどではアプリ内課金の仕組みは利用されておらず、外部ブラウザにて会員登録をさせる仕組みとなっている。これらの仕様はiOS/Androidそれぞれのディベロッパーポリシー等に違反しないのか、その解釈を調べてみた。
まず結論
下記条件であれば、アプリ内課金を利用しなくても(外部の決済代行業者を利用しても)良いと考えられる。
- 有料会員の特典は、アプリ外でも利用できる(アプリ内のみのコンテンツではない)
- 決済画面はアプリ内WebViewよりは、ブラウザアプリで表示させたほうが良い。
判断理由(iOS)
App Store Reviewガイドライン(https://developer.apple.com/jp/app-store/review/guidelines/#in-app-purchase)によると
3.1.5(a)Appの外部で使用する商品やサービス:ユーザーがAppの外部で使用する商品やサービスをAppで購入できるようにする場合、そうした商品の支払いにはApp内課金以外(Apple Payや クレジットカードなど)の方法を使用する必要があります。
とある。つまり、
- アプリケーションの「内部」で使用する商品やサービス: App内課金での支払いで実装
- アプリケーションの「外部」で使用する商品やサービス: App内課金以外の方法での支払い(クレジットカード支払いなど)で実装
と考えられる(参考:https://inside.pixiv.blog/danbo-tanaka/4749)。
有料会員の特典適応範囲がアプリ内のみであるとみなされた場合、リジェクト対象となる恐れがある。
判断理由(Android)
デベロッパーポリシー(https://play.google.com/intl/ja/about/developer-content-policy-print/ )では下記と定義されています。
デベロッパーは、Google Play からダウンロードされた別のカテゴリのアプリ内でプロダクトを提供する場合、支払い方法として Google Play アプリ内課金を使用しなければなりません。
ただし、以下の場合を除きます。
・物理的なプロダクトのみの支払い
・そのアプリ以外で消費できるデジタル コンテンツに対する支払い(他の音楽プレーヤーで再生できる曲など)
つまり、基本的な考えはiOSと同じと考えられます。