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