Перейдите на Google Play Billing Library 7 с версий 5 или 6.

В этом документе описывается, как перейти с библиотеки Google Play Billing 5 или 6 на библиотеку Google Play Billing 7 и как интегрироваться с новыми дополнительными возможностями подписки.

Полный список изменений в версии 7.0.0 можно найти в примечаниях к выпуску .

Обзор

Библиотека выставления счетов Google Play 7 улучшает обработку платежей за существующие функции подписки. Эти дополнительные улучшения добавляют поддержку оплаты в рассрочку, а также поддержку ожидающих покупок для предоплаченных подписок.

Обновление библиотеки Play Billing Library с обратной совместимостью

Все новые API библиотеки Google Play Billing Library 7 являются необязательными, и разработчикам не нужно вносить какие-либо изменения API для обновления.

Для миграции вам необходимо обновить ссылки на API и удалить определенные API из вашего приложения, как описано в примечаниях к выпуску и далее в этом руководстве по миграции.

Обновление с PBL 5 до PBL 7

В следующих разделах описано, как выполнить обновление с PBL 5 до PBL 7.

Обновите библиотеку платежей Google Play

Обновите версию зависимости библиотеки платежей Play в файле build.gradle вашего приложения.

dependencies {
    def billingVersion = 7.0.0

    implementation "com.android.billingclient:billing:$billingVersion"
}

Затем обновите ссылки на API, как описано в следующих разделах.

Изменение покупок подписки пользователя

Play Billing Library 5 и более ранние версии использовали ProrationMode для применения изменений к покупкам подписки пользователя, таких как повышение или понижение версии. Этот API был удален и заменен ReplacementMode .

Обрабатывать изменения цен на подписку

Ранее устаревший API launchPriceConfirmationFlow был удален. Альтернативные варианты см. в руководстве по изменению цен .

Обработка изменений API, связанных с подпиской

Ранее устаревшие API setOldSkuPurchaseToken , setReplaceProrationMode , setReplaceSkusProrationMode были удалены.

Обработка ошибок библиотеки выставления счетов Play

Новый код NETWORK_ERROR указывает на проблемы с сетевым соединением между устройством пользователя и системой Google Play.

Коды SERVICE_TIMEOUT и SERVICE_UNAVAILABLE также были обновлены.

Для получения дополнительной информации см. Коды ответов на обработку BillingResult .

Обработка ожидающих транзакций

Библиотека пьес Биллинг больше не создает идентификатор заказа для ожидающих покупок. Для этих покупок идентификатор заказа заполняется после перевода покупки в состояние PURCHASED . Убедитесь, что ваша интеграция ожидает идентификатор заказа только после полного завершения транзакции. Вы по-прежнему можете использовать токен покупки для своих записей.

Дополнительную информацию об обработке ожидающих покупок см. в руководстве по интеграции Play Billing Library и в руководстве по управлению жизненным циклом покупок .

Обработка удаленных альтернативных API для выставления счетов

Удален BillingClient.Builder.enableAlternativeBilling , AlternativeBillingListener и AlternativeChoiceDetails . Вместо этого разработчикам следует использовать BillingClient.Builder.enableUserChoiceBilling() с UserChoiceBillingListener и UserChoiceDetails в обратном вызове прослушивателя.

Это обновление представляет собой переименование устаревших API без изменений поведения.

Дополнительные изменения

PBL 7 включает два новых дополнительных API.

Поддержка ожидающих покупок для предоплаченных планов

См. Руководство по подписке на ручку и ожидающие транзакции .

Подписка в виртуальную рассрочку

См. Руководство по интеграции подписки на рассрочку .

Обновление с PBL 6 до PBL 7

В следующих разделах описывается, как обновить с PBL 6 до PBL 7.

Обновить библиотеку биллинга Google Play

Обновите версию зависимости библиотеки Play Billing в файле вашего приложения build.gradle .

dependencies {
    def billingVersion = 7.0.0

    implementation "com.android.billingclient:billing:$billingVersion"
}

Затем обновите ссылки на API, как описано в следующих разделах.

Handle subscription related API changes

The previously deprecated APIs setOldSkuPurchaseToken , setReplaceProrationMode , setReplaceSkusProrationMode have been removed.

Обработка удаленных альтернативных API для выставления счетов

Удален BillingClient.Builder.enableAlternativeBilling , AlternativeBillingListener и AlternativeChoiceDetails . Вместо этого разработчикам следует использовать BillingClient.Builder.enableUserChoiceBilling() с UserChoiceBillingListener и UserChoiceDetails в обратном вызове прослушивателя.

Дополнительные изменения

PBL 7 включает два новых дополнительных API.

Support Pending Purchases for Prepaid Plans

See the Handle Subscriptions and Pending Transactions guide.

Virtual Installment Subscriptions

See the Installment Subscriptions Integration guide for information on how to integrate these changes into your app.