Для проверки доступности платежей вызовите метод checkPurchasesAvailability. При его вызове проверяются следующие условия:
-
На устройстве пользователя должен быть установлен RuStore.
-
RuStore должен поддерживать функциональность платежей.
-
Пользователь должен быть авторизован в RuStore.
-
Пользователь и приложение не должны быть заблокированы в RuStore.
-
Для приложения должна быть включена возможность покупок в системе RuStore Консоль.
Если все условия выполняются, возвращается FeatureAvailabilityResult.Available. Иначе, возвращается FeatureAvailabilityResult.Unavailable(val cause: RuStoreException), где cause — это ошибка о невыполненном условии. Все возможные ошибки RuStoreException описаны в разделе Обработка ошибок. Прочие ошибки (например, «Нет соединения с интернетом») возвращаются в onFailure.
RuStoreBillingClient.INSTANCE.getPurchases().checkPurchasesAvailability().addOnCompleteListener( new OnCompleteListener<FeatureAvailabilityResult>() { @Override public void onFailure( @NonNull Throwable throwable) { // Process error } @Override public void onSuccess(FeatureAvailabilityResult featureAvailabilityResult) { if (featureAvailabilityResult instanceof FeatureAvailabilityResult.Available) { // Process purchases available } else if (featureAvailabilityResult instanceof FeatureAvailabilityResult.Unavailable) { // Process purchases unavailable } } }); |