アプリの一部の機能のロックを解除する 1 回限りの購入がある IAP を実装しました。購入は各ユーザーによって 1 回だけ行われるため、このユーザーが購入したかどうかを Apple の IAP サービスに問い合わせることができます。その場合は、機能のロックを解除します。そうでない場合は、IAP プロンプトを表示します。ネットワーク接続なしでアプリを使用するための不完全な解決策として、ユーザーのデフォルトにいくつかの「userDidMakePurchase」フラグも保持した可能性があります。
ここで、ユーザーが何度も作成できる IAP を実装したいと思います。アプリ内通貨を使用するための 10 個のトークンがユーザーに与えられるたびに。特定のユーザーがアプリを起動したときに持っているトークンの数を確認するにはどうすればよいですか?
これまでのところ、ユーザーの既定値にトークン カウントを保持することを検討してきました。これには、アプリを削除して再インストールするとユーザーのトークン残高が消去されるなど、いくつかの大きな欠点があります。また、トークンは他のデバイスに引き継がれません。
もちろん、トークン カウントを自分のサーバーに保持することも、AWS を使用することもできます。ただし、可能であればこれを避けたいと思います。私は IAP の基本しか知らないので、おそらく Apple はすべての購入を追跡しており、そこからそれを把握することができます。