В этом документе описывается, как выполнить миграцию с Google Play Billing Library (PBL) 6 или 7 на PBL 8 и как интегрировать новые дополнительные возможности подписки.
Полный список изменений в версии 8.0.0 смотрите в примечаниях к выпуску .
Обзор
PBL 8 содержит улучшения существующих API, а также удаление ранее устаревших API. Эта версия библиотеки также включает новые API для разовых продуктов.
Обратная совместимость для обновления PBL
Чтобы перейти на PBL 8, вам необходимо обновить или удалить некоторые существующие ссылки API из вашего приложения, как описано в примечаниях к выпуску и далее в этом руководстве по миграции.
Обновление с PBL 6 или 7 до PBL 8
Чтобы обновить PBL 6 или 7 до PBL 8, выполните следующие действия:
Обновите версию зависимости Play Billing Library в файле
build.gradle
вашего приложения.dependencies { def billingVersion = 8.0.0 implementation "com.android.billingclient:billing:$billingVersion" }
(Применимо только для обновления с PBL 6 до PBL 8). Обрабатывайте изменения API, связанные с подпиской, в вашем приложении.
В следующей таблице перечислены API-интерфейсы, связанные с подписками, которые удалены в PBL 8, а также соответствующие альтернативные API, которые необходимо использовать в вашем приложении.
Ранее устаревший API удален в PBL 8. Альтернативный API для использования setOldSkuPurchaseToken setOldPurchaseToken setReplaceProrationMode setSubscriptionReplacementMode setReplaceSkusProrationMode setSubscriptionReplacementMode Обновите реализацию метода
queryProductDetailsAsync
.В сигнатуру метода
ProductDetailsResponseListener.onProductDetailsResponse
внесены изменения, требующие внесения изменений в ваше приложение для реализацииqueryProductDetailsAsync
. Подробнее см. в разделе «Показать доступные для покупки товары» .Обработать удаленные API.
Обновление с
PBL 8 больше не поддерживает API, перечисленные в следующей таблице. Если ваша реализация использует какой-либо из этих удалённых API, обратитесь к таблице для получения информации об альтернативных API.
Ранее устаревший API удален в PBL 8. Альтернативный API для использования API queryPurchaseHistoryAsync Посмотреть историю покупок запросов querySkuDetailsAsync queryProductDetailsAsync enablePendingPurchases() (API без параметров) enablePendingPurchases(параметры PendingPurchaseParams)
Обратите внимание, что устаревший метод enablePendingPurchases() функционально эквивалентенenablePendingPurchases(PendingPurchasesParams.newBuilder().enableOneTimeProducts().build())
.queryPurchasesAsync(String skuType, PurchasesResponseListener прослушиватель) queryPurchasesAsync BillingClient.Builder.enableAlternativeBilling BillingClient.Builder.enableUserChoiceBilling AlternativeBillingListener UserChoiceBillingListener АльтернативныйВыборПодробности UserChoiceDetails Обновление с
В следующей таблице перечислены API, удаленные в PBL 8, и соответствующие альтернативные API, которые вы должны использовать в своем приложении.
Ранее устаревший API удален в PBL 8. Альтернативный API для использования API queryPurchaseHistoryAsync Посмотреть историю покупок запросов querySkuDetailsAsync queryProductDetailsAsync enablePendingPurchases() (API без параметров) enablePendingPurchases(параметры PendingPurchaseParams)
Обратите внимание, что устаревший метод enablePendingPurchases() функционально эквивалентенenablePendingPurchases(PendingPurchasesParams.newBuilder().enableOneTimeProducts().build())
.queryPurchasesAsync(String skuType, PurchasesResponseListener прослушиватель) queryPurchasesAsync (Рекомендуется) Включить автоматическое переподключение услуги.
Библиотека Play Billing может попытаться автоматически восстановить подключение к сервису, если вызов API выполняется во время отключения сервиса. Подробнее см. в разделе Включение автоматического переподключения сервиса .
Возможные изменения.
Поддержка отложенных покупок для предоплаченных тарифов. Подробнее см. в разделе «Управление подписками и отложенными транзакциями» .
Виртуальные подписки в рассрочку. Подробнее см. в разделе «Интеграция подписок в рассрочку» .