アプリ内購入の自動更新サブスクリプションに関するさまざまなスレッドを読んでおり、必要な情報のほとんどをまとめたと思いますが、不足している部分がいくつかあります. 誰かが私を助けてくれることを願っています。
状況: ユーザーが購読できるさまざまなサブスクリプション パッケージがあります (たとえば、パッケージ A は月 1 ポンド、パッケージ B は月 2 ポンドなど)。ユーザーのサブスクリプション情報をデータベースに保存します。ユーザーがログインすると、そのユーザーが使用しているパッケージと、有効期限が切れているかどうかを確認します。私のウェブサイト、アンドロイド、iOS はすべて同じデータベースを使用しているため、このアプローチは理にかなっているようです。
アプリ内購入でユーザーを購読するのは簡単に思えます。paymentQueue を確認し、支払いが決済されたら、データベースを更新できます。
私の質問:
1) 私の理解では、ユーザーは iTunes を使用してサブスクリプションを管理できます。たとえば、彼らが iTunes にアクセスしてサブスクリプションをキャンセルした場合、データベースを更新できるように通知するにはどうすればよいですか? ユーザーが更新したかどうかを確認するために期限切れのサブスクリプションをチェックするデーモンが必要ですか?
2) ユーザーがサブスクリプションをパッケージ A からパッケージ B にアップグレードしたい場合、価格はどのように処理すればよいですか? 1 月 1 日にパッケージ A を購入するとします。私は彼らに 1.00 ポンドを請求し、有効期限を 1 月 31 日に設定します。1 月 15 日に、アプリ内購入でパッケージ B にアップグレードしたいと考えています。理想的には、パッケージ B の 2 ポンドからパッケージ A のクレジット 0.50 ポンドを引いた金額を請求し、新しい有効期限を 2 月 14 日に設定します。しかし、Apple は私に、各パッケージを階層価格に関連付けることを強制しています。どうすればこれを処理できますか? ユーザーが月末まで待ってから上位パッケージに入れたくありません...月の途中でアップグレードした場合、新しいコンテンツ パッケージ B がすぐに配信されることをユーザーが望んでいることを意味します。
どんな助けでも大歓迎です!
ありがとう!