В этом документе описывается, как перейти с 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
были удалены.
- Обновите
setOldSkuPurchaseToken
доsetOldPurchaseToken
. - Обновите
setReplaceProrationMode
доsetSubscriptionReplacementMode
. - Обновите
setReplaceSkusProrationMode
доsetSubscriptionReplacementMode
.
Обработка ошибок библиотеки 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
были удалены.
- Обновите
setOldSkuPurchaseToken
доsetOldPurchaseToken
. - Обновите
setReplaceProrationMode
доsetSubscriptionReplacementMode
. - Обновите
setReplaceSkusProrationMode
доsetSubscriptionReplacementMode
.
Обработка удаленных альтернативных API выставления счетов
Удалены BillingClient.Builder.enableAlternativeBilling
, AlternativeBillingListener
и AlternativeChoiceDetails
. Разработчикам следует использовать BillingClient.Builder.enableUserChoiceBilling()
с UserChoiceBillingListener
и UserChoiceDetails
в обратном вызове прослушивателя.
Необязательные изменения
PBL 7 включает два новых дополнительных API.
Поддержка ожидающих покупок для предоплаченных планов
См. руководство «Обработка подписок и ожидающих транзакций» .
Виртуальные подписки в рассрочку
Информацию о том, как интегрировать эти изменения в ваше приложение, см. в руководстве по интеграции подписок в рассрочку.