ユーザーの期限切れのサブスクリプションを Google Play から取得する方法はありますか? 私は雑誌スタイルのアプリを作成しています。ユーザーが現在サブスクリプションを持っているかどうかに関係なく、サブスクリプションが有効な間に公開されたコンテンツにアクセスできるようにしたいと考えています。たとえば、ユーザーが 6 月 1 日に 1 か月分のサブスクリプションを購入し、6 月末までにキャンセルした場合、7 月以降は 6 月に公開されたすべてのコンテンツに引き続きアクセスできます。
Google のIabHelper.java
サンプル ライブラリを使用すると、方法がないようです。上記の例を続けると、7 月以降、queryInventory()
メソッドはサブスクリプションをまったく表示しなくなります。これにより、 を取得できpurchaseToken
なくなり、Google Play Developer API を使用できなくなります。(ここに記載されているように、Purchases.Subscriptions:get()
メソッドにはトークンが必要です。)
ユーザーが購入したときにトークンをローカルにキャッシュできることはわかっていますが、それは複数のデバイスでは機能しません。複数のデバイスで購入を維持するには、購入トークンをサーバーに保存する必要があります。ただし、トークンを取得するには、ユーザーがサーバーにログインする方法が必要になるため、複雑さが増します。
より良い方法はありますか?