В этом документе описывается, как перейти с 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 установитьРежимЗаменыПодписки setReplaceSkusProrationMode установитьРежимЗаменыПодписки Обновите реализацию метода
queryProductDetailsAsync
.В сигнатуре метода
ProductDetailsResponseListener.onProductDetailsResponse
произошли изменения, которые требуют внесения изменений в ваше приложение для реализацииqueryProductDetailsAsync
. Для получения дополнительной информации см. раздел Показать продукты, доступные для покупки .Обработать удаленные API.
Обновление с
PBL 8 больше не поддерживает API, перечисленные в следующей таблице. Если ваша реализация использует какие-либо из этих удаленных API, обратитесь к таблице для получения соответствующих им альтернативных API.
Ранее устаревший API удален в PBL 8 Альтернативный API для использования API queryPurchaseHistoryAsync Посмотреть историю покупок запросов querySkuDetailsAsync запросПродуктПодробностиАсинхронный enablePendingPurchases() (API без параметров) enablePendingPurchases(параметры PendingPurchaseParams)
Обратите внимание, что устаревший метод enablePendingPurchases() функционально эквивалентен методуenablePendingPurchases(PendingPurchasesParams.newBuilder().enableOneTimeProducts().build())
.queryPurchasesAsync(String skuType, PurchasesResponseListener прослушиватель) запросПокупкиАсинхронный BillingClient.Builder.enableAlternativeBilling BillingClient.Builder.enableUserChoiceBilling Альтернативный прослушиватель счетов UserChoiceBillingListener АльтернативныйВыборПодробности UserChoiceПодробности Обновление с
В следующей таблице перечислены API, удаленные в PBL 8, и соответствующие альтернативные API, которые необходимо использовать в вашем приложении.
Ранее устаревший API удален в PBL 8 Альтернативный API для использования API queryPurchaseHistoryAsync Посмотреть историю покупок запросов querySkuDetailsAsync запросПродуктПодробностиАсинхронный enablePendingPurchases() (API без параметров) enablePendingPurchases(параметры PendingPurchaseParams)
Обратите внимание, что устаревший метод enablePendingPurchases() функционально эквивалентен методуenablePendingPurchases(PendingPurchasesParams.newBuilder().enableOneTimeProducts().build())
.queryPurchasesAsync(String skuType, PurchasesResponseListener прослушиватель) запросПокупкиАсинхронный (Рекомендуется) Включить автоматическое повторное подключение к услуге.
Библиотека Play Billing может попытаться автоматически восстановить соединение со службой, если вызов API выполняется во время отключения службы. Для получения дополнительной информации см. Включить автоматическое повторное подключение к службе .
Необязательные изменения.
Поддержка ожидающих покупок для предоплаченных планов. Для получения дополнительной информации см. Обработка подписок и ожидающих транзакций .
Виртуальные подписки в рассрочку. Для получения дополнительной информации см. Интеграция подписок в рассрочку .