文档: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"为了登录我需要有这个插件经验的人及其实时行为。