Для проверки доступности платежей вызовите метод checkPurchasesAvailability. При его вызове проверяются следующие условия:
-
На устройстве пользователя должен быть установлен RuStore.
-
RuStore должен поддерживать функциональность платежей.
-
Пользователь должен быть авторизован в RuStore.
-
Пользователь и приложение не должны быть заблокированы в RuStore.
-
Для приложения должна быть включена возможность покупок в системе RuStore Консоль.
Если все условия выполняются, возвращается FeatureAvailabilityResult.Available. Иначе, возвращается FeatureAvailabilityResult.Unavailable(val cause: RuStoreException), где cause — это ошибка о невыполненном условии. Все возможные ошибки RuStoreException описаны в разделе Обработка ошибок. Прочие ошибки (например, «Нет соединения с интернетом») возвращаются в onFailure.
RuStoreBillingClient.purchases.checkPurchasesAvailability() .addOnCompleteListener(object : OnCompleteListener<FeatureAvailabilityResult> { override fun onFailure(throwable: Throwable) { // Process error } override fun onSuccess(result: FeatureAvailabilityResult) { when (result) { is FeatureAvailabilityResult.Available -> { // Process purchases available } is FeatureAvailabilityResult.Unavailable -> { // Process purchases unavailable } } } }) |