Перейдите на 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 Library с обратной совместимостью

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

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

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

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

Обновление библиотеки Google Play Billing

Обновите версию зависимости 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 .

Обработка изменений цен на подписку

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

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

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

Обработка ошибок библиотеки Play Billing

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

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

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

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

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

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

Обработка удаленных альтернативных 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 Billing

Обновите версию зависимости 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.

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

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

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

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