如下所述,可以通过设置相应的运行条件确保Android版Google Play订阅能够正确自动续订:
确保您的订阅价格是正确的。如果价格不合适,用户可能会选择不续订。如果使用的是订阅 API,您可以通过调用 getPurchases() 方法检查用户当前的订阅状况并提供合适的价格。
您的应用必须具有权限来查询用户的购买历史记录和订阅信息。如果您的应用没有这些权限,用户的订阅可能无法自动续订。在您的应用清单文件中,添加以下权限:
BillingClient billingClient = BillingClient.newBuilder(this)
.setListener(this)
.enablePendingPurchases()
.build();
billingClient.startConnection(new BillingClientStateListener() {
@Override
public void onBillingSetupFinished(BillingResult billingResult) {
if (billingResult.getResponseCode() == BillingClient.BillingResponseCode.OK) {
// The billing client is ready. Check whether the subscription is still valid.
boolean isSubscriptionValid = false;
List purchasesList = billingClient.queryPurchases(BillingClient.SkuType.SUBS).getPurchasesList();
if (purchasesList != null) {
for (Purchase purchase : purchasesList) {
if (TextUtils.equals(purchase.getSku(), YOUR_SKU) && purchase.getPurchaseState() == Purchase.PurchaseState.PURCHASED) {
// The subscription is still valid.
isSubscriptionValid = true;
break;
}