Pey*_*man 5 android google-play google-play-services play-billing-library google-play-billing
我仅在某些设备上遇到此崩溃。当我尝试构建一个新的BillingClient.
我无法正确调试这个问题,因为它不会发生在我的任何设备上。再次强调,这种情况并不是在所有设备上都会发生,只会在安装了我的应用程序的 10% 的设备上发生。
以下是我启动计费的方式:
class BillingManager(
private val context: Context,
private val firebase: FirebaseManager,
private val storage: SharedPreferenceStorage
) {
private var billingClient: BillingClient? = null
val initBillingResponse = MutableLiveData<Boolean?>()
private val startConnectionListener = object : BillingClientStateListener {
override fun onBillingSetupFinished(result: BillingResult) {
if (result.isResponseOk()) {
getSKUs()
checkSubscription()
initBillingResponse.postValue(true)
} else {
initBillingResponse.postValue(false)
}
}
override fun onBillingServiceDisconnected() {
initBillingResponse.postValue(false)
}
}
init {
initBilling()
}
private fun initBilling() {
initBillingResponse.postValue(null)
try {
billingClient = BillingClient.newBuilder(context)
.enablePendingPurchases()
.setListener { billingResult, purchases ->
if (billingResult.isResponseOk()) {
acknowledgePurchases(purchases)
checkSubscription()
} else {
billingResult.responseCode
}
}
.build()
billingClient?.startConnection(startConnectionListener)
} catch (e: Throwable) {
e.printStackTrace()
FirebaseCrashlytics.getInstance().recordException(e)
initBillingResponse.postValue(false)
}
}
// Other functions
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
506 次 |
| 最近记录: |