versionCode 57, versionName 1.9.11
인 앱 결제 로직 수정 - 결제 완료 후 서버에서 데이터 처리 후 로컬에서 다시 소비처리를 하도록 수정
This commit is contained in:
parent
a6ce994fd0
commit
2bd30aa346
|
@ -40,8 +40,8 @@ android {
|
|||
applicationId "kr.co.vividnext.sodalive"
|
||||
minSdk 23
|
||||
targetSdk 33
|
||||
versionCode 49
|
||||
versionName "1.9.2"
|
||||
versionCode 57
|
||||
versionName "1.9.10"
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
|
|
|
@ -56,29 +56,9 @@ class CanChargeIapFragment : BaseFragment<FragmentCanChargeIapBinding>(
|
|||
setupBillingClient()
|
||||
}
|
||||
|
||||
override fun onStart() {
|
||||
super.onStart()
|
||||
|
||||
billingClient.startConnection(object : BillingClientStateListener {
|
||||
override fun onBillingServiceDisconnected() {
|
||||
viewModel.showToast("인 앱 결제 이용이 불가능 합니다. 다시 시도해 주세요.")
|
||||
viewModel.setLoading(false)
|
||||
}
|
||||
|
||||
override fun onBillingSetupFinished(billingResult: BillingResult) {
|
||||
if (billingResult.responseCode == BillingClient.BillingResponseCode.OK) {
|
||||
queryAndConsumeUnconsumedPurchases()
|
||||
} else {
|
||||
viewModel.showToast("인 앱 결제 이용이 불가능 합니다. 다시 시도해 주세요.")
|
||||
viewModel.setLoading(false)
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
override fun onStop() {
|
||||
super.onStop()
|
||||
override fun onDestroy() {
|
||||
billingClient.endConnection()
|
||||
super.onDestroy()
|
||||
}
|
||||
|
||||
private fun bindData() {
|
||||
|
@ -171,6 +151,22 @@ class CanChargeIapFragment : BaseFragment<FragmentCanChargeIapBinding>(
|
|||
.build()
|
||||
|
||||
loadingDialog.show(screenWidth)
|
||||
|
||||
billingClient.startConnection(object : BillingClientStateListener {
|
||||
override fun onBillingServiceDisconnected() {
|
||||
viewModel.showToast("인 앱 결제 이용이 불가능 합니다. 다시 시도해 주세요.")
|
||||
viewModel.setLoading(false)
|
||||
}
|
||||
|
||||
override fun onBillingSetupFinished(billingResult: BillingResult) {
|
||||
if (billingResult.responseCode == BillingClient.BillingResponseCode.OK) {
|
||||
queryAndConsumeUnconsumedPurchases()
|
||||
} else {
|
||||
viewModel.showToast("인 앱 결제 이용이 불가능 합니다. 다시 시도해 주세요.")
|
||||
viewModel.setLoading(false)
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
@SuppressLint("NotifyDataSetChanged")
|
||||
|
@ -219,7 +215,9 @@ class CanChargeIapFragment : BaseFragment<FragmentCanChargeIapBinding>(
|
|||
if (purchaseList.isNotEmpty()) {
|
||||
for (purchase in purchaseList) {
|
||||
if (!purchase.isAcknowledged) {
|
||||
consumePurchase(purchase)
|
||||
consumePurchase(purchase) {
|
||||
queryAvailableCans()
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
@ -229,14 +227,14 @@ class CanChargeIapFragment : BaseFragment<FragmentCanChargeIapBinding>(
|
|||
}
|
||||
}
|
||||
|
||||
private fun consumePurchase(purchase: Purchase) {
|
||||
private fun consumePurchase(purchase: Purchase, onSuccess: () -> Unit) {
|
||||
val params = ConsumeParams.newBuilder()
|
||||
.setPurchaseToken(purchase.purchaseToken)
|
||||
.build()
|
||||
|
||||
billingClient.consumeAsync(params) { billingResult, _ ->
|
||||
if (billingResult.responseCode == BillingClient.BillingResponseCode.OK) {
|
||||
queryAvailableCans()
|
||||
onSuccess()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -251,15 +249,17 @@ class CanChargeIapFragment : BaseFragment<FragmentCanChargeIapBinding>(
|
|||
selectedProductDetails = selectedProductDetails!!,
|
||||
purchase = purchase
|
||||
) { chargeCan ->
|
||||
handler.post {
|
||||
viewModel.showToast("캔이 충전되었습니다")
|
||||
SharedPreferenceManager.can += chargeCan
|
||||
consumePurchase(purchase) {
|
||||
handler.post {
|
||||
viewModel.showToast("캔이 충전되었습니다")
|
||||
SharedPreferenceManager.can += chargeCan
|
||||
|
||||
if (activity != null) {
|
||||
if (activity as? CanChargeActivity != null) {
|
||||
(activity as CanChargeActivity).successIapCharge()
|
||||
} else {
|
||||
requireActivity().finish()
|
||||
if (activity != null) {
|
||||
if (activity as? CanChargeActivity != null) {
|
||||
(activity as CanChargeActivity).successIapCharge()
|
||||
} else {
|
||||
requireActivity().finish()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue