이 문서에서는 Google Play 결제 라이브러리 (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. 앱의 build.gradle 파일에서 Play 결제 라이브러리 종속 항목 버전을 업데이트합니다.

    dependencies {
      def billingVersion = 8.0.0
      implementation "com.android.billingclient:billing:$billingVersion"
    }
    
  2. (PBL 6에서 PBL 8로 업그레이드하는 경우에만 적용됨) 앱에서 정기 결제 관련 API 변경사항을 처리합니다.

    다음 표에는 PBL 8에서 삭제된 정기 결제 관련 API와 앱에서 사용해야 하는 해당 대체 API가 나와 있습니다.

    PBL 8에서 이전에 지원 중단된 API 삭제 사용할 대체 API
    setOldSkuPurchaseToken setOldPurchaseToken
    setReplaceProrationMode setSubscriptionReplacementMode
    setReplaceSkusProrationMode setSubscriptionReplacementMode
  3. queryProductDetailsAsync 메서드의 구현을 업데이트합니다.

    ProductDetailsResponseListener.onProductDetailsResponse 메서드의 서명이 변경되어 queryProductDetailsAsync 구현을 위해 앱을 변경해야 합니다. 자세한 내용은 구매 가능한 제품 표시를 참고하세요.

  4. 삭제된 API를 처리합니다.

    업그레이드

    PBL 8에서는 더 이상 다음 표에 나열된 API를 지원하지 않습니다. 구현에서 이러한 삭제된 API를 사용하는 경우 표에서 상응하는 대체 API를 참고하세요.

    PBL 8에서 이전에 지원 중단된 API 삭제 사용할 대체 API
    queryPurchaseHistoryAsync API 구매 내역 쿼리를 참고하세요.
    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

    업그레이드

    다음 표에는 PBL 8에서 삭제된 API와 앱에서 사용해야 하는 상응하는 대체 API가 나와 있습니다.

    PBL 8에서 이전에 지원 중단된 API 삭제 사용할 대체 API
    queryPurchaseHistoryAsync API 구매 내역 쿼리를 참고하세요.
    querySkuDetailsAsync queryProductDetailsAsync
    enablePendingPurchases() (매개변수가 없는 API) enablePendingPurchases(PendingPurchaseParams params)
    지원 중단된 enablePendingPurchases()는 기능적으로 enablePendingPurchases(PendingPurchasesParams.newBuilder().enableOneTimeProducts().build())와 동일합니다.
    queryPurchasesAsync(String skuType, PurchasesResponseListener listener) queryPurchasesAsync

  5. (권장) 자동 서비스 재연결을 사용 설정합니다.

    서비스 연결이 끊어진 상태에서 API 호출이 실행되면 Play 결제 라이브러리는 서비스 연결을 자동으로 다시 설정하려고 시도할 수 있습니다. 자세한 내용은 자동 서비스 재연결 사용 설정을 참고하세요.

  6. 선택사항 변경사항