2017-08-31 7 views
0

私はアプリ内サブスクリプション機能を持つアプリをテストしています。テストサブスクリプションを使用して、動作するように見える購入をテストしました。私はその後、キャンセルされたサブスクリプションにアプリが応答することをテストしたいので、Play内からサブスクリプションをキャンセルしました。しかし、getPurchase()コールは依然として購入オブジェクトを返します。私はIABHelperを含むTrivalDriveサンプルからコードを使用しています。私はそれがfalseを返すように期待していた間、アプリケーションテストサブスクリプションでのキャンセル

 if (refsub != null && refsub.isAutoRenewing()) { 
      mRefTechSku = REFTECH_SKU; 
      mAutoRenewEnabled = true; 
     } else { 
      mRefTechSku = ""; 
      mAutoRenewEnabled = false; 
     } 

     // The user is subscribed if either subscription exists, even if neither is auto 
     // renewing 
     mSubscribedToRefSub = (refsub != null && verifyDeveloperPayload(refsub)); 

mSubscribedToRefSubはtrueを返します。しかし、mAutoRenewEnabledはfalseを返しますが、サブスクリプション期間の終了時までユーザーに対してアプリをアクティブに保つ必要があるため、有効なサブスクリプションを確認する有効な方法です。

答えて

0

はい、これは正しいです。

https://developer.android.com/google/play/billing/billing_subscriptions.html#cancellation

これは、サブスクリプションをキャンセルすることは(返金がないように)、ユーザはその有効期限までにサブスクリプションを楽しむことができるようにすべきであることを意味するが、このサブスクリプションは、その時間の後に更新されませんと言っています。

有効期限がまだ同じであるため、サブスクリプションは、この方法が、自動更新フィールドはfalseになります)(getPurchasesに返されます。

したがって、この方法でタイムサブスクリプションが返されるまで、そのコンテンツ/機能をサブスクライバに提供する必要があります。

0

返信いただきありがとうございます。 mSubscribedToRefSubがfalseを返すようになると、プレイストアがサブスクリプションがキャンセルされたことが示されてから最大1日かかることがあります。だから、すぐには動作しません。

関連する問題