3

文档: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”才能登录。我需要一个对这个插件有经验的人,它的行为是实时的。

4

0 回答 0