文档:https ://jamesmontemagno.github.io/InAppBillingPlugin/
我正在尝试验证用户是否存在有效订阅,如果存在,请登录。
以下将获取所有订阅购买:
var _subscriptionList = await CrossInAppBilling.Current.GetPurchasesAsync(ItemType.Subscription);
我检查是否应该根据是否找到订阅来允许用户登录。
if (_subscriptionList.Any())
{
Login();
}
但是我觉得这允许有待付款的用户登录(或者任何有任何类型的订阅记录,状态为已付款、待处理或被拒绝的人)。所以我所做的是检查“PurchaseState”:
if (_subscriptionList.Any())
{
foreach (var _subscription in _subscriptionList)
{
if (_subscription.State == PurchaseState.Purchased)
{
Login();
break;
}
}
}
这是正确的实施方式吗?我在 Android 上进行了测试,但测试购买仍处于 PurchaseState.Pending 状态,因此我必须包含“_subscription.State == PurchaseState.PaymentPending”才能登录。我需要一个对这个插件有经验的人,它的行为是实时的。