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

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

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

Обзор

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

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

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

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

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

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

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

Обновите версию зависимости Play Billing Library в файле 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 Billing

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

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

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

Обработка незавершенных транзакций

Библиотека Play Billing больше не создает идентификатор заказа для ожидающих покупок. Для таких покупок идентификатор заказа заполняется после того, как покупка переходит в состояние 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 Library в файле build.gradle вашего приложения.

dependencies {
    def billingVersion = 7.0.0

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

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

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

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

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

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

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

В PBL 7 добавлены два новых дополнительных API.

Поддержка незавершенных покупок для предоплаченных тарифных планов

См. руководство «Обработка подписок и ожидающих транзакций» .

Виртуальные подписки в рассрочку

Информацию о том, как интегрировать эти изменения в ваше приложение, см. в руководстве по интеграции подписок в рассрочку .