如何检查用户是否已购买订阅

时间:2018-09-23 17:02:41

标签: android in-app-purchase in-app-billing in-app-subscription

在我的Android应用程序中,我在App-Billing中实现了,用户可以在其中购买应用程序中的订阅。 当用户启动该应用程序时,我想检查他是否有任何订阅,以确定我应该向他显示哪些内容。 我正在使用最新的应用程序内结算库implementation 'com.android.billingclient:billing:1.1' 预先感谢您的帮助

2 个答案:

答案 0 :(得分:0)

您有两个选择

  1. 按照Google建议的那样创建一个WebAPI,建议使用单独的服务器来跟踪用户的购买并与Google API通信。请参阅LINK
  2. 使用Google的InApp计费库获取用户订阅。

请参考this答案。它将使您对应用程序内购买工作流程有所了解。

我还建议您阅读一些有关InApp购买的文章。

  • 教程:如何在Android LINK中实现应用内结算
  • 有关实施InApp购买LINK的文章。
  • 如何在服务器端验证购买的Android应用(在Google Play中的应用结算v3)LINK
  • 另一个答案LINK
  • 另一个答案LINK
  • 代码项目示例LINK

答案 1 :(得分:0)

我的目标是找出用户是否有订阅。 我已经这样解决了。

    mBillingManager = new BillingManager(this);

    Purchase.PurchasesResult  purchasesResult = mBillingManager.getPurchaseMadeByUser();
    if(purchasesResult.getResponseCode() == BillingClient.BillingResponse.OK && (purchasesResult.getPurchasesList() != null)){
        hasSubscription = true;
    }

在应用程序中的任何地方,我都会检查hasSubscription == true,然后不加载广告。

要在我的应用中设置应用内结算,我遵循了Google的本教程: https://codelabs.developers.google.com/codelabs/play-billing-codelab/#0