В этом документе описывается, как перейти с 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 установитьРежимЗаменыПодписки
    setReplaceSkusProrationMode установитьРежимЗаменыПодписки
  3. Обновите реализацию метода queryProductDetailsAsync .

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

  4. Обработать удаленные 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 прослушиватель) запросПокупкиАсинхронный

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

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

  6. Необязательные изменения.