반응형
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 |