11

私たちは iPhone 用の 1 つの iOS アプリケーションを開発しています。これは機能を無料にするだけでなく、以下のようにアプリ内購入の自動更新可能なサブスクリプション オプションで 4 つのプレミアム機能を備えています。

  • 毎月の単一サブスクリプション
  • 単年サブスクリプション
  • 家族の月額サブスクリプション
  • 家族の年間サブスクリプション

アプリケーション内に 1 つのストア画面があり、アプリが提供するさまざまなサブスクリプションにサブスクライブするオプションがあります。

ユーザーはデバイス設定に移動して、アプリ内購入のサブスクリプションを管理できることがわかりました。

また、ユーザーがあるサブスクリプションから別のサブスクリプションにアップグレードできるオプションを提供することも計画しています。ユーザーはサブスクリプションをダウングレードすることもできます。これは、すべて同じオプションを逆にして無料バージョンに戻すことです。可能なアップグレード オプション:

  • 任意の 4 つのサブスクリプション オプションに無料
  • 単月から単年
  • シングルマンスリーからファミリーマンスリー
  • 単身月額から家族年額
  • 毎月の家族から毎年の家族へ

考えられる格下げオプション:

  • 家族年間から家族毎月
  • ファミリー年間からシングルマンスリー
  • ファミリーマンスリーからシングルマンスリー
  • 単年単月から単月単月
  • 4 つのサブスクリプション オプションから無料バージョンまで

ノート:

  • Apple によると、Apple 家族共有オプションを使用してアプリ内購入を共有することはできないため、アプリケーションで独自の家族共有オプションを開発しています。(参考:https ://support.apple.com/ja-in/HT203046 )

クエリ:

  1. iOS アプリケーションでサブスクリプションをどのように管理すればよいのでしょうか?
  2. デバイス設定オプションは、あるオプションから別のオプションにアップグレードおよび劣化するための 4 つのアプリ内購入オプションをどのように表示しますか?
  3. 自動更新サブスクリプションを復元するために、iOS 開発者として対処する必要がある考慮事項は何ですか? ユーザーがアプリで複数のユーザー アカウントを持つ iTunes アカウントを使用して復元しようとした場合に考えられるシナリオが明確ではありません。ユーザーがサブスクリプションを 1 回購入して複数のユーザー アカウントで復元しようとするときに、どの Apple が許可するかを確認できる予防策は何ですか?
  4. Apple は、自動更新サブスクリプション オプションを使用したカスタム 家族共有オプションを拒否しますか?
  5. 上記の機能を使用できる場合、アップルが処理しない、私たちが最後に注意する必要があるポイントは何ですか?
  6. iOS アプリケーションで上記の機能を使用する場合、Apple のガイドラインに違反し、アプリが拒否される可能性はありますか?

誰かが自分の意見を共有したり、私たちが進むべき道についてのガイダンスを提供したり、アップルのポリシーから外れたりする場合は、私たちにとって大きな助けになります....物事がここに移動します。

ありがとう

4

1 に答える 1

16
  1. iOS アプリケーションでサブスクリプションをどのように管理すればよいのでしょうか?

独自のユーザー管理システムを使用しているため、データベース内のユーザーに関連付けられたサブスクリプションの状態を永続化する必要があります。ユーザーがアプリで購入を作成すると、アプリはこのレシートを API に送信し、API はそれを検証します。

永続化したら、スケジュールされたプロセスをキューに登録して、サブスクリプションの有効期限日に実行し、レコードを更新し、有効期限が将来でなくなるまで無限に更新します。

ユーザーがアプリを開いてサブスクリプションのステータスを判断するときに、アプリは API を照会する必要があります。ユーザーの家族のデバイスにはこの購入が関連付けられていないため、アプリでローカルに領収書を使用しないでください。

  1. デバイス設定オプションは、あるオプションから別のオプションにアップグレードおよび劣化するための 4 つのアプリ内購入オプションをどのように表示しますか?

iTunes Connect にリストされているすべての製品が同じ「サブスクリプション ファミリー」である場合、それらはユーザーの iTunes アカウントのサブスクリプション管理ページに表示されます。

ユーザーが製品を切り替えると、トランザクションが作成され、SKPaymentTransactionStatePurchasedイベントが に追加されますSKPaymentQueue。これは、新しい製品を反映する製品 IDを持つ同じサブスクリプション ファミリの製品で行われた最初の購入と同じ元のトランザクション IDを持つ新しいトランザクションになります。

このため、アプリでトランザクション オブザーバーをバックグラウンドで実行して、新しいトランザクションを受信する必要があります。新しいトランザクションを受信したら、a) レシート全体を API に送信するか、b) 新しいトランザクションを受信したことを API に通知し、保持されていたレシートを再検証します。

(a) を使用すると、時間の経過とともにレシートが大きくなり、ユーザーが毎回より多くの帯域幅を必要とするため、問題が生じる可能性があります。

(b) を使用すると、ユーザーが iTunes アカウントを切り替えるなどのエッジ ケースで問題が発生する可能性があるため、欠点もあります。これを解決するには、アプリのidentifierForVendorをレシートと共に保存し、一致しない場合はアプリにレシート全体を送信するように要求します。ほとんどの場合、トランザクションが発生したことを API に通知するだけであり、識別子が一致しない場合は、新しい領収書を送信します。

  1. 自動更新サブスクリプションを復元するために、iOS 開発者として対処する必要がある考慮事項は何ですか? ユーザーがアプリで複数のユーザー アカウントを持つ iTunes アカウントを使用して復元しようとした場合に考えられるシナリオが明確ではありません。ユーザーがサブスクリプションを 1 回購入して複数のユーザー アカウントで復元しようとするときに、どの Apple が許可するかを確認できる予防策は何ですか?

復元すると、新しいトランザクション ID を持つ新しいトランザクションが作成されますが、元のトランザクション ID は同じです。データベースにトランザクション テーブルを作成すると、トランザクションとその元のトランザクションが 1 人のユーザーにのみ関連付けられるようになり、ユーザーが別のユーザーの他のデバイスで購入を復元してサブスクリプションにアクセスするのを防ぐことができます。

復元されたトランザクションはキューにプッシュされるSKPaymentTransactionStateRestoredため、これが発生した場合は、レシートを API に送信し、レシートを通常どおり処理することをお勧めします。新しいトランザクションを元のユーザーに関連付けます。

  1. Apple は、自動更新サブスクリプション オプションを使用したカスタム 家族共有オプションを拒否しますか?

私はそれを疑いますが、私は Apple ではないので、私の言葉を福音と解釈しないでください。Spotify には、ユーザーが自分の Spotify アカウントを家族と共有できる" Spotify Family "と呼ばれる同様のスキームがありますが、これが iTunes アプリで有効になっているかどうかはわかりません。

  1. 上記の機能を使用できる場合、アップルが処理しない、私たちが最後に注意する必要があるポイントは何ですか?
  1. ユーザー管理と家族の関連付けを行う独自の API が必要です
  2. ユーザーはアプリにサインイン/登録する必要があります
  3. 親アカウントが既に購入している場合、家族ユーザーが購入できないようにする必要があります。
  4. レシートと identifierForVendor をデータベースに保存します。
  5. 検証 APIを使用して領収書の検証を処理します。
  6. トランザクションのテーブルを保持し、このテーブルを自己参照と見なして、トランザクションが を通じて元のトランザクションに属することができるようにしoriginal_transaction_idます。transaction_id列が一意であることを確認してください。
  7. トランザクションの更新が必要になるたびに、領収書を検証します。
  1. iOS アプリケーションで上記の機能を使用する場合、Apple のガイドラインに違反し、アプリが拒否される可能性はありますか?

セクション17.2を除いて、ガイドラインには何も表示されません。

機能するためにユーザーがメールアドレスや生年月日などの個人情報を共有する必要があるアプリは拒否されます

17.5では次のように述べられているため、これは少し矛盾していると思います。

アカウント登録を含む、またはユーザーの既存のアカウントにアクセスするアプリには、プライバシー ポリシーを含める必要があります。含まれていない場合、アプリは拒否されます

これは、ユーザーが登録を必要とせずにアプリを使用できる必要があることを意味すると思いますが、まさにこれを行うアプリの多くの例を知っています.

于 2016-03-09T16:17:24.233 に答える