Получить активные подписки In-app Billing Android - PullRequest
0 голосов
/ 04 ноября 2018

Я использовал библиотеку биллинга в приложении для добавления подписок в свое приложение. Все работает правильно, но я не могу найти, как мне получить текущую активную подписку пользователей?

В соответствии с документами метод queryPurchaseHistoryAsync возвращает самую последнюю покупку, совершенную пользователем для каждого SKU, даже если эта покупка истекла, была отменена или потреблена. В связи с этим я не могу знать, активна ли текущая подписка или нет.

Согласно этой записи, если мы отменим подписку, она все равно будет считаться активной в этот день. Но я получаю подписки в ответе, которые были отменены до 15 дней.

Любая помощь будет оценена. Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 14 ноября 2018

Для запроса подписки пользователей я использую этот метод:

public void querySubscriptions() {
    Runnable queryToExecute = () -> {
        Purchase.PurchasesResult purchasesResult = mBillingClient.queryPurchases(BillingClient.SkuType.SUBS);

        if (mBillingClient == null ||
                purchasesResult.getResponseCode() != BillingClient.BillingResponse.OK) {
            return;
        }
        mPurchases.clear();
        onPurchasesUpdated(BillingClient.BillingResponse.OK, purchasesResult.getPurchasesList());
    };

    executeServiceRequest(queryToExecute);
}

Если вам нужно больше деталей, спросите.

0 голосов
/ 09 ноября 2018

Пользователь может иметь несколько активных подписок в любой момент. Вы можете проверить, активна ли подписка или нет, используя метод isAutoRenewing. Вот документы для этого метода

Указывает, продлевается ли подписка автоматически. Если true, подписка активна и будет автоматически продлена на следующую дату выставления счета. Если false, то указывает, что пользователь отменил подписку. Пользователь имеет доступ к контенту подписки до следующей даты выставления счета и потеряет доступ в это время, если он не включит автоматическое продление (или продление вручную, как описано в разделе Продление вручную). Если вы предлагаете льготный период, это значение остается равным true для всех подписок, пока льготный период не истек. Следующая дата выставления счета продлевается динамически каждый день до конца льготного периода или до тех пор, пока пользователь не исправит способ оплаты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...