【发布时间】:2019-11-11 10:06:02
【问题描述】:
我正在尝试为允许用户购买订阅的 Android 应用程序创建应用内计费。我已经设法做到了,并且可以购买订阅,但我没有得到的是如何将应用程序中的某些功能限制为那些尚未订阅的人?
我似乎找不到任何关于此的教程。如果用户没有订阅提示应用内计费窗口,我想要的是按下按钮。我可以用这段代码来实现。
public void launchBillingFLow(@SkuType String skuType, String productId) {
Runnable launchBillingRequest = () -> {
BillingFlowParams mBillingFlowParams;
mBillingFlowParams = BillingFlowParams.newBuilder()
.setSku(productId)
.setType(skuType)
.build();
mBillingClient.launchBillingFlow((Activity) context, mBillingFlowParams);
};
executeServiceRequest(launchBillingRequest);
}
但是如果用户已经订阅了呢?所以问题是,我如何检查用户是否订阅并执行按钮按下,如果不显示计费窗口。只有当用户连接到互联网时,我才能获得该信息吗?我需要在设备上存储这些信息吗?
【问题讨论】:
-
我相信你应该使用 queryPurchases,它使用 Google Play 缓存而不发起网络请求。因此,您将能够知道谁购买了哪种产品,然后进行有限访问。
标签: android in-app-purchase billing in-app-subscription