Обработка ошибок

Возникающие ошибки передаются в обработчик onFailure методов SDK.

Структура ошибки:

public class RuStoreError {
 
    public string name;
    public string description;
}
  • name — название ошибки;
  • description — описание ошибки. 

Возможные ошибки:

  • RuStoreNotInstalledException — на устройстве пользователя не установлен RuStore;
  • RuStoreOutdatedException — RuStore, установленный на устройстве пользователя, не поддерживает платежи;
  • RuStoreUserUnauthorizedException — пользователь не авторизован в RuStore; 
  • RuStoreApplicationBannedException — приложение заблокировано в RuStore;
  • RuStoreUserBannedException — пользователь заблокирован в RuStore;
  • RuStoreException — базовая ошибка RuStore от которой наследуются остальные ошибки. 

При вызове метода PurchaseProduct ошибки обрабатываются автоматически.

Если при инициализации SDK был передан параметр allowNativeErrorHandling == true, при возникновении ошибки кроме вызова соответствующего обработчика onFailure она передается в метод resolveForBilling нативного SDK для показа диалога с ошибкой пользователю:

public fun RuStoreException.resolveForBilling(context: Context)

Изменить это поведение после инициализации можно установкой свойства AllowNativeErrorHandling:

RuStoreBillingClient.Instance.AllowNativeErrorHandling = false;
Was this information helpful?