Nano Hash - криптовалюты, майнинг, программирование

Библиотека выставления счетов Google Play 2.0 подтверждает ограничение времени покупки для тестовых покупок

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

Примечания к выпуску

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

Может быть, Google по-разному обрабатывает тестовые заказы и позволяет подтвердить заказ всего за несколько минут, а не за 3 дня, или я что-то упустил?

Вот код, который я использую для подтверждения покупки. PurchaseHolder - это класс, который содержит покупку и SKU вместе с кодом ответа с моего внутреннего сервера.

for (IABManager.PurchaseHolder pm : purchaseHolders){
    if(pm.getSku().equals(SKU)) {//found matching SKU
        if (pm.getActionResult() == IABManager.BillingActionResult.VALID_PURCHASE) {//valid purchase made
            if(!pm.getPurchase().isAcknowledged()) {//purchase not yet acknowledged
                iabManager.acknowledgePurchases(pm.getPurchase(), (billingResult) -> {
                    Log.d(TAG, "AcknowledgedPurchaseResponse received from Google");
                    if(billingResult.getResponseCode() == BillingClient.BillingResponseCode.OK) {
                        unlockFeatures();
                    }
                });
            }else{
                unlockFeatures();
            }

        } else if (pm.getActionResult() == IABManager.BillingActionResult.NON_VALID_PURCHASE){
            lockFeatures();
        }else{
            Log.d(TAG, "BILLING_ACTION_RESULT = " + pm.getActionResult() + " doing nothing");
        }
    }
}

... и метод подтверждения покупок

public void acknowledgePurchases(Purchase purchase, AcknowledgePurchaseResponseListener listener){

    AcknowledgePurchaseParams params = AcknowledgePurchaseParams.newBuilder()
            .setPurchaseToken(purchase.getPurchaseToken()).build();

    billingClient.acknowledgePurchase(params, listener);
}

Ответы:


1

Действительно, из документации библиотеки выставления счетов Google Play

Для покупок, сделанных тестировщиками лицензий, окно подтверждения короче. Вместо трех дней покупки возвращаются и аннулируются, если они не подтверждены в течение пяти минут.

https://developer.android.com/google/play/billing/billing_library_overview#test_acknowledging_purchase_with_license_testers

26.09.2019

2

Из документации видно, что тестовые покупки выполняются в гораздо более короткие сроки, чтобы облегчить тестирование: https://developer.android.com/google/play/billing/billing_testing#testing-renewals

Если недельная подписка продлевается за 5 минут, я полагаю, что трехдневный лимит подтверждения покупки будет уменьшен до пары минут во время разработки.

22.05.2019
  • Это кажется логичным, учитывая, что другие временные рамки для тестовых заказов сокращены до нескольких минут. Я просто надеялся, что Google явно объяснил это, или кто-то другой, кто это тестировал, мог подтвердить. 23.05.2019
  • Не беспокойтесь, меня это тоже смутило. Я не большой поклонник того, чтобы подтверждать / потреблять покупки, но я вижу в этом необходимость. Я просто хочу, чтобы это было лучше объяснено в документации. 24.05.2019
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

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

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..