9

私のAndroidアプリには「無料試用版のサブスクリプション」があり、サブスクリプション製品を購入した後、BillingServiceは購入済みステータスを取得します。

ただし、サブスクリプションをキャンセルした後、BillingService は Expired ステータスを取得しません。

ただし、Android Developerによると、

「必要に応じて、ユーザーは試用期間中いつでもサブスクリプションをキャンセルできます。この場合、Google Play は、試用期間が終了するまで待つのではなく、サブスクリプションをすぐに期限切れとしてマークします。」

しかし、私のアプリはステータスを取得しません。

試用期間中にサブスクリプションをキャンセルした後、いつAndroidアプリが「期限切れ」ステータスになるのだろうか.

4

2 に答える 2

6

私もこれに気づきました。私の場合、試用サブスクリプションを購入してから数分以内にキャンセルしたにもかかわらず、購入状態が変更されたのは試用期間 (7 日間) の終了時だけでした。

現在、キャンセルされた別の試用版の有効期限が切れるのを待っています - 3 日経ちましたが、購入状態はまだ 0 (「正常に購入されました」) です。

更新: したがって、トランザクションを定期的に復元する必要があるようです (Google は、「パフォーマンスへの影響のため」これを行うべきではないと言っています)、またはサーバー側 API http: //developer.android.com/google/play/billing/v2/billing_subscriptions.html#play-dev-api . アプリは、有効期限に達したときにのみ Google のサービスを確認する Web サーバーにクエリを実行します。

于 2012-12-22T09:29:10.503 に答える
1

このケースは、非テスト環境、つまり実稼働環境でテストしました。

サブスクリプションをキャンセルしてから約 4 時間後に、EXPIRED 状態の ACTION_PUR​​CHASE_STATE_CHANGED 通知を受け取りました。(購入後数分で解約しました。試用期間は7日間です)

期限切れの通知が「既に所有されています」と数回返された後、サブスクリプションを再購入しようとしましたが、その後、再購入することができました (試用期間なしで、文書化されています)。

Google サーバー API を実装していないため、ステータスがどうなるかわかりません。ただし、マーチャント サイトでは、注文と注文 CSV のダウンロードでは、アイテムが請求済みとして表示されます。

では、前回の回答から何が変わったのでしょうか?

  1. 本番環境と Google のテスト環境
  2. おそらくGoogleのバグ修正

Google サーバー API クエリを実装したら、この回答を更新します。

アップデート:

Google Server API チェックを実装したところ、購入から数分後にサブスクリプションがキャンセルされたことが正しく表示されました。この API チェックは、購入から 3 日後に、7 日間の試用期間内に行われました。

現時点での私の結論は、試用期間中のユーザーのキャンセルは Google によって正しく処理されるということです。

于 2013-03-29T08:55:42.900 に答える