需要帮助,当我已经购买了一份订阅计划并在上一份订阅计划到期之前再次购买相同的计划时,我收到此错误。为此,使用 google play billing 和 deferred 按比例分配模式。
开发者错误 描述 - “此请求不支持所请求的替换模式”为此使用了标准代码。
字符串 OfferToken = 产品详细信息 .getSubscriptionOfferDetails(selectedOfferIndex) .getOfferToken();
BillingFlowParams billingFlowParams = BillingFlowParams.newBuilder() .setProductDetailsParamsList( 不可变列表.of( ProductDetailsParams.newBuilder() // 通过 queryProductDetailsAsync 获取 .setProductDetails(产品详细信息) // OfferToken 可以在以下位置找到 // 产品详细信息=>订阅优惠详细信息 .setOfferToken(offerToken) 。建造())) .setSubscriptionUpdateParams( SubscriptionUpdateParams.newBuilder() //purchaseToken可以在Purchase#getPurchaseToken中找到 .setOldSkuPurchaseToken("old_purchase_token") .setReplaceSkusProrationMode(ProrationMode.DEFERRED) 。建造()) .build();
BillingResult billingResult = billingClient.launchBillingFlow(activity, billingFlowParams);
此外,当我使用 IMMEDIATE_AND_CHARGE_FULL_PRICE 等按比例分配模式和 IMMEDIATE_WITHOUT_PRORATION 但不包含 DEFERRED。
setSubscriptionReplacementMode(BillingFlowParams.SubscriptionUpdateParams.ReplacementMode.CHARGE_FULL_PRICE)