Переход на Google Play Billing Library 8 с версий 6 или 7

В этом документе описывается, как выполнить миграцию с 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, выполните следующие действия:

  1. Обновите версию зависимости Play Billing Library в файле build.gradle вашего приложения.

    dependencies {
      def billingVersion = 8.0.0
      implementation "com.android.billingclient:billing:$billingVersion"
    }
    
  2. (Применимо только для обновления с PBL 6 до PBL 8). Обрабатывайте изменения API, связанные с подпиской, в вашем приложении.

    В следующей таблице перечислены API-интерфейсы, связанные с подписками, которые удалены в PBL 8, а также соответствующие альтернативные API, которые необходимо использовать в вашем приложении.

    Ранее устаревший API удален в PBL 8. Альтернативный API для использования
    setOldSkuPurchaseToken setOldPurchaseToken
    setReplaceProrationMode setSubscriptionReplacementMode
    setReplaceSkusProrationMode setSubscriptionReplacementMode
  3. Обновите реализацию метода queryProductDetailsAsync .

    В сигнатуру метода ProductDetailsResponseListener.onProductDetailsResponse внесены изменения, требующие внесения изменений в ваше приложение для реализации queryProductDetailsAsync . Подробнее см. в разделе «Показать доступные для покупки товары» .

  4. Обработать удаленные 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

  5. (Рекомендуется) Включить автоматическое переподключение услуги.

    Библиотека Play Billing может попытаться автоматически восстановить подключение к сервису, если вызов API выполняется во время отключения сервиса. Подробнее см. в разделе Включение автоматического переподключения сервиса .

  6. Возможные изменения.