我已在我的应用程序中集成了 google play 计费库以进行订阅购买。它运作良好。用户收到来自谷歌的购买确认邮件。 来自谷歌的确认邮件
在 Play 商店订阅屏幕中也可以看到活动订阅。 Play 商店中显示的有效订阅
在 Play 控制台中,订单详细信息表明用户已成功收取订阅费用。但是,它会立即取消。 播放控制台订单历史
我还检查了购买确认,每次购买都会返回 true。最初,我认为我的代码会有错误。所以,我尝试了 Github 上的各种计费库。问题仍然存在。最后,我用 Revenue cat 替换了整个谷歌计费库。遵循收入目录文件中描述的每个步骤。不过,遇到同样的问题。
有什么我缺少实施或做错的事情吗?请帮帮我。谢谢
获取可用产品的代码:
private fun fetchOffering(){
Purchases.sharedInstance.getOfferingsWith({ error ->
// An error occurred
handleBillingError(requireActivity(), error)
}) { offerings ->
offerings.current?.availablePackages?.takeUnless { it.isNullOrEmpty() }?.let {
// All packages from current offering
if (it.isNotEmpty()){
it.forEach { p: Package ->
offeringPackages.add(p)
}
isProductsAvailable = true
}
Log.d("RevenueCat", "fetchOffering: success: ${it.size}")
}
}
}
购买代码:
private fun makePurchase(pack:Package){
Purchases.sharedInstance.purchasePackageWith(
requireActivity(),
packageToPurchase = pack /* package from the fetched Offering*/,
onError = {error, userCancelled ->
Log.d("RevenueCat", "makePurchase: userCancelled: $userCancelled")
handleBillingError(requireActivity(), error)
},
onSuccess = { product, purchaserInfo ->
if (purchaserInfo.entitlements[REVENUE_ENTITLEMENT_ID_PRO]?.isActive == true) {
Log.d("RevenueCat", "makePurchase: success: ${product.originalJson} ")
afterPurchaseSuccessSetup()
}
})
}