본문 바로가기
[Android]/[Kotlin]

Google In app billing 6 - All products should be of the same product type.

by Hevton 2023. 10. 24.
반응형

Google In app billing을 구현하다 보면 All products should be of the same product type 와 같은 오류를 경험할 수 있습니다.

 

이 오류는, queryProductDetails() 함수를 이용하여 상품을 쿼리하려 할 떄

INAPP 상품과 SUBS 상품을 섞어서 요청할 시에 발생합니다.

 

즉, 일회성 상품(INAPP) 과 구독형 상품(SUBS) 상품 정보는 한번에 함께 쿼리할 수 없습니다.

INAPP은 INAPP 끼리 묶어서 한번에 쿼리할 수 있고, SUBS는 SUBS 끼리 묶어서 쿼리할 순 있지만

INAPP과 SUBS를 섞어서 쿼리할 순 없습니다.

 

            productList.add(
                QueryProductDetailsParams.Product.newBuilder()
                    .setProductId("상품아이디 1")
                    .setProductType(BillingClient.ProductType.SUBS)
                    .build()
            )

            productList.add(
                QueryProductDetailsParams.Product.newBuilder()
                    .setProductId("상품아이디 2")
                    .setProductType(BillingClient.ProductType.INAPP)
                    .build()
            )
            val productDetailsResult = withContext(Dispatchers.IO) {
                billingClient.queryProductDetails(params.build())
            }

 이런식으로 묶어서 한번에 할 순 없습니다. 인앱은 인앱끼리, 구독은 구독끼리 요청해주어야만 합니다.

반응형

'[Android] > [Kotlin]' 카테고리의 다른 글

[발표] 고차함수 정리  (0) 2024.03.14
Kotest - 코틀린 기반의 테스트 코드 작성하기  (0) 2023.11.02
코루틴 예외처리 주의  (0) 2023.07.01
Kotlin combine  (0) 2023.05.07
[Kotlin / 코틀린] Setter  (0) 2023.03.29