В этом документе рассказывается, как перейти с библиотеки Google Play Платежей версии 6 или 7 на версию 8 и как интегрировать новые необязательные функции подписок.
Полный список изменений в версии 8.0.0 приведен в примечаниях к выпуску.
Навыки работы с Android
Посмотреть на GitHubОбновите библиотеку Play Платежей
android skills add play-billing-library-version-upgradeHelp me upgrade my Play Billing Library implementation.Обзор
В PBL 8 улучшены существующие API и удалены устаревшие. В этой версии библиотеки также есть новые API для контента для однократных покупок.
Обратная совместимость для обновления PBL
Чтобы перейти на PBL 8, вам нужно обновить или удалить некоторые из существующих ссылок на API из вашего приложения, как описано в примечаниях к выпуску и далее в этом руководстве по переносу.
Переход с PBL 6 или 7 на PBL 8
Чтобы перейти с PBL 6 или 7 на PBL 8, выполните следующие действия:
Обновите версию зависимости библиотеки Play Платежей в файле
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 params)
Обратите внимание, что устаревший метод enablePendingPurchases() функционально эквивалентенenablePendingPurchases(PendingPurchasesParams.newBuilder().enableOneTimeProducts().build()).queryPurchasesAsync(String skuType, PurchasesResponseListener listener) queryPurchasesAsync BillingClient.Builder.enableAlternativeBilling BillingClient.Builder.enableUserChoiceBilling AlternativeBillingListener UserChoiceBillingListener AlternativeChoiceDetails UserChoiceDetails Переход с
В таблице ниже перечислены API, удаленные из PBL 8, и соответствующие альтернативные API, которые необходимо использовать в приложении.
Удален API, ранее признанный устаревшим в PBL 8 Альтернативный API API queryPurchaseHistoryAsync Подробнее о запросе истории покупок… querySkuDetailsAsync queryProductDetailsAsync enablePendingPurchases() (API без параметров) enablePendingPurchases(PendingPurchaseParams params)
Обратите внимание, что устаревший метод enablePendingPurchases() функционально эквивалентенenablePendingPurchases(PendingPurchasesParams.newBuilder().enableOneTimeProducts().build()).queryPurchasesAsync(String skuType, PurchasesResponseListener listener) queryPurchasesAsync Включите автоматическое повторное подключение к сервису (рекомендуется).
Библиотека Play Платежей может попытаться автоматически восстановить подключение к сервису, если вызов API выполняется, когда сервис отключен. Подробнее о том, как включить автоматическое повторное подключение сервиса…
Необязательные изменения.
Поддержка незавершенных покупок для планов с предоплатой. Подробнее о том, как работать с подписками и транзакциями в обработке…
Подписки с виртуальной рассрочкой. Подробнее об интеграции подписок с рассрочкой…