我遵循了 Google 开发者文档中的指南:https://developer.android.com/google/play/billing/integrate?hl=vi
完成步骤处理购买流程,并处理购买结果和处理确认购买响应。在这一步中,我可以确定用户购买是否成功。
目前我没有任何后端来执行指南的下一步:https://developer.android.com/google/play/billing/backend?hl=vi
再次运行应用程序时,如何确定用户已经购买了订阅(无需再次处理购买流程)?以及当用户更换设备时如何确定用户订阅情况?
可以使用 queryPurchasesAsync 来完成
void QueryPurchase(){
QueryPurchasesParams queryPurchasesParams = QueryPurchasesParams.newBuilder().setProductType(BillingClient.ProductType.SUBS).build();
billingClient.queryPurchasesAsync(queryPurchasesParams, new PurchasesResponseListener() {
@Override
public void onQueryPurchasesResponse(@NonNull BillingResult billingResult, @NonNull List<Purchase> list) {
if(list==null){
return;
}
Log.d(TAG, "onQueryPurchasesResponse, list.size="+String.valueOf(list.size()));
for(Purchase purchase: list){
boolean bIsAutoRenewing = purchase.isAutoRenewing();
Log.d(TAG, "bIsAutoRenewing = "+String.valueOf(bIsAutoRenewing));
}
}
});
}
然后可以通过bIsAutoRenewing来判断