1

Web サービスに接続されているアプリがあります。アプリにサブスクリプションを実装しましたが、それが正しい方法かどうかわかりません。これが私がやっていることです。

  1. 私はREQUEST_PURCHASE適切なIDとタイプでやっています。
  2. Google Play は async で応答しIN_APP_NOTIFYます。
  3. GET_PURCHASE_INFORMATION購入情報を得るために電話します。
  4. 応答purchaseTokenからその他の詳細を取得します。PURCHASE_STATE_CHANGEDそれらをローカルDBに保存します。
  5. CONFIRM_NOTIFICATIONを受け取ったことを確認するために送信しpurchaseTokenます。
  6. ここで、ローカル DB を確認して取得し、purchaseTokenGoogle Developer Android API を使用して購入を確認し、サブスクリプション コンテンツのロックを解除する Web サーバーに送信します。サーバーがアプリに検証済みであることを通知したら、DB から削除します。

アプリを起動するたびに、ローカル DB にエントリがあるかどうかを確認し、エントリがある場合は、Web サーバーを再度呼び出して検証を試みます。

私は6番目のステップを疑っています。最初にサーバーに確認してから、手順 5 を実行する必要があると思います。

利用できるWebサービスがある場合、ここでの正しいアプローチは何ですか?

4

1 に答える 1

0

これについて長い間答えがなかったので、私はそれを自分で書くことにしました。

V2 のアプリ内課金 API は非常に複雑でした。V3 API はサブスクリプションで利用でき、使用することを強くお勧めします。API の実装は非常に簡単です。

そして、私が見た限りでは、人々は 1 回限りの購入と比較して定期購入をためらっています。そこで、購入すると1年間プロ機能が提供され、その後再び更新できるプランが1つだけの1回限りの購入モデルに移行しました.

フローは非常に単純になりました。

  • 購入依頼。
  • 成功すると、「プロ機能が有効になるまでに数分かかる場合があります」などのメッセージが表示されます。
  • 購入を消費します。
  • purchaseToken をローカル キャッシュに格納します。
  • サーバーをバックグラウンドで検証します。
  • プロ機能のロックを解除します。
于 2013-10-05T05:22:37.627 に答える