В этом документе описано, как перейти с библиотеки Google Play Платежей версии 5 или 6 на версию 7 и как интегрировать новые необязательные функции подписок.
Полный список изменений в версии 7.0.0 приведен в примечаниях к выпуску.
Обзор
В библиотеке Google Play Платежей версии 7 улучшена обработка платежей для существующих функций подписок. Эти необязательные улучшения добавляют поддержку оплаты в рассрочку, а также поддержку ожидающих покупок для предоплаченных подписок.
Обновление библиотеки Play Платежей с обратной совместимостью
Все новые API в библиотеке Google Play Платежей версии 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 Платежей версии 5 и более ранних для применения изменений к подпискам пользователей, например перехода на другой план, использовался метод ProrationMode. Этот API был удален и заменен на ReplacementMode.
Как обрабатывать изменения цен на подписки
Удален API launchPriceConfirmationFlow, ранее признанный устаревшим.
Альтернативные варианты описаны в руководстве по изменению цен.
Как обрабатывать изменения API, связанные с подписками
Удалены устаревшие API setOldSkuPurchaseToken, setReplaceProrationMode и setReplaceSkusProrationMode.
- Замените
setOldSkuPurchaseTokenнаsetOldPurchaseToken. - Обновите
setReplaceProrationModeдоsetSubscriptionReplacementMode. - Обновите
setReplaceSkusProrationModeдоsetSubscriptionReplacementMode.
Как обрабатывать ошибки библиотеки Play Платежей
Новый код NETWORK_ERROR указывает на проблемы с сетевым подключением между устройством пользователя и системой Google Play.
Коды SERVICE_TIMEOUT и SERVICE_UNAVAILABLE также были обновлены.
Подробнее о том, как обрабатывать коды ответа BillingResult…
Как обрабатывать транзакции в обработке
Библиотека Play Платежей больше не создает идентификатор заказа для незавершенных покупок.
Для таких покупок идентификатор заказа указывается после того, как покупка переходит в статус PURCHASED. Убедитесь, что идентификатор заказа запрашивается только после полного завершения транзакции. Вы по-прежнему можете использовать токен покупки для своих записей.
Дополнительную информацию о том, как обрабатывать незавершенные покупки, можно найти в руководстве по интеграции библиотеки Play Платежей и руководстве по управлению жизненным циклом покупок.
Как обрабатывать удаленные 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 Платежей в файле 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.
Поддержка незавершенных покупок для планов с предоплатой
Ознакомьтесь с руководством Как обрабатывать подписки и транзакции в обработке.
Подписки на виртуальную рассрочку
Информацию о том, как интегрировать эти изменения в приложение, можно найти в руководстве по интеграции подписок с рассрочкой.