無料版と有料版の 2-in-1 アプリを提供するとします。ユーザーが支払った場合、彼はアプリケーションで利用可能な追加機能を取得します。
タスクと理解を簡素化するために、サンプル アプリケーションを使用しました。次に、メイン画面にボタンをもう 1 つ追加しました (これは「有料」機能です)。このボタンはデフォルトで無効になっています。ユーザーが (サンプル アプリケーションで) Potion の料金を支払った場合、このボタンを有効にする必要があります。
だから、私が持っている次の質問:
- ユーザーが支払った後にボタンを有効にするには、サンプル アプリでどの関数を変更する必要がありますか? タスクをさらに単純化するために、ユーザーはポーションのみを購入でき、それ以上は購入できないと仮定できます。
myButton.setEnabled(true)
に追加する だけでは不十分のようonPurchaseStateChange / if (purchaseState == PurchaseState.PURCHASED)
です。また、ユーザーが支払った場合、アプリケーションの起動後にこのボタンを有効にする必要があります。でやるべきrestoreDatabase
ですか?これも呼び出す必要がrestoreDatabase
ありonStart()
ますか? - 同じ質問はボタンの無効化についてです - どこでこれを行うべきですか?
- ボタンが有効になったら、ユーザーがそれを押した場合、ユーザーがアプリケーションに対して本当に支払ったことを確認する必要があります (データベースの値だけに頼らないでください) - を呼び出す必要があるよう
RESTORE_TRANSACTIONS
です。次に、結果に基づいて、警告を表示してボタンを無効にするか、さらにアクションを許可します。