0

アプリ内自動更新サブスクリプションで問題が発生しました。アプリにはこの種のサブスクリプションが含まれており、アプリは複数のユーザーが使用できますが、サブスクリプションはデバイスで使用される Apple ID にバインドされています。そのため、別のユーザーがアプリにログインすると、システムは有効なサブスクリプションを持っていると言います。サブスクリプションを持っていないユーザーがアプリにログインした場合よりも、バックエンド サーバーにサブスクライブしたユーザーをログに記録した場合、デバイスで Apple ID が使用されているため、Apple の応答に従って新しいサブスクリプションを作成できません。ユーザーがAppleのWebページで購読を解除した場合、バックエンドサーバーで購読を追跡する場合の別の問題は、サーバーに通知できない場合です。

私は何を間違っていますか?この場合の適切なワークフローは何ですか?

私のジレンマを理解していただければ幸いです。

ありがとう!

4

1 に答える 1

0

あなたの使用例は完全に有効であり、サブスクリプションのアプリ内購入があらゆるプラットフォーム (Apple/Google) で機能する方法とまったく同じです。

サブスクリプションのアプリ内購入の場合、コンテンツの配信は完全にアプリ プロバイダーの責任であり、プラットフォームの責任ではありません。デバイスの iTunes アカウントで現在ログインしているユーザーにアクセスできないため、アプリ ユーザーが別のユーザーに切り替えられたかどうかを直接識別する方法はありません。

一部のデータをデバイスにローカルに保持し、ユーザーの購入履歴を維持することで、このユースケースを自分で管理する必要がありますが、それでも目的を 100% 解決することはできません。ユーザーがサブスクリプションを購入しようとすると、デバイスで iTunes ユーザー アカウントも切り替えられていない限り、サービスは既にサブスクライブされていると表示されます。

サブスクリプションが成功すると、DB に保存するために使用できるレシートが iTunes から取得されるため、バックエンドからサブスクライブ解除状態を追跡できます。サーバー側でバックエンド ジョブを実行して、保存されたレシートを検証し、更新されたレシートを確認して、サブスクリプションの有効期限が切れているかどうかを確認する必要があります。

于 2016-12-15T15:56:14.073 に答える