Как проверить, купил ли пользователь подписку

в моем приложении для Android я реализовал в App-Billing, где пользователь может купить подписку в приложении. когда пользователь запускает приложение, я хочу проверить, есть ли у него вообще какая-либо подписка, чтобы решить, какой контент я должен ему показать. я использую последнюю версию библиотеки биллинга в приложении implementation 'com.android.billingclient:billing:1.1' заранее благодарю вас за помощь


person korchix    schedule 23.09.2018    source источник


Ответы (2)


У вас есть два варианта

  1. Создайте WebAPI, поскольку Google предлагает иметь отдельный сервер, который отслеживает покупки пользователей и взаимодействует с API Google. См. ССЫЛКУ.
  2. Используйте платежную библиотеку Google InApp, чтобы получить подписку для пользователей.

См. этот ответ. Это даст вам некоторое представление о рабочем процессе покупки в приложении.

Я также предлагаю вам прочитать несколько статей о покупке InApp.

  • Учебное пособие: как реализовать биллинг из приложения в Android ССЫЛКА
  • Статья о реализации покупки InApp ССЫЛКА.
  • Как подтвердить покупку для приложения Android на стороне сервера (Google Play в биллинге приложений v3) ССЫЛКА.
  • Другой SO-ответ: ССЫЛКА
  • Другой SO-ответ ССЫЛКА
  • Пример проекта кода ССЫЛКА.
person Kishan Vaishnav    schedule 25.09.2018

моей целью было узнать, есть ли у пользователя подписка вообще. Я решил это вот так.

    mBillingManager = new BillingManager(this);

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

и везде в приложении я проверяю, имеет ли hasSubscription == true, а затем не загружаю рекламу.

чтобы настроить In-App Billing в моем приложении, я следовал этому руководству от Google: https://codelabs.developers.google.com/codelabs/play-billing-codelab/#0

person korchix    schedule 20.10.2018