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

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

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

Структура ошибки
USTRUCT(BlueprintType)
struct RUSTORECORE_API FURuStoreRuStoreError
{
    GENERATED_USTRUCT_BODY()
 
    FURuStoreRuStoreError()
    {
        name = "";
        description = "";
    }
 
    UPROPERTY(BlueprintReadOnly)
    FString name;
 
    UPROPERTY(BlueprintReadOnly)
    FString 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;
Обновлено 17 июля 2023 г.
Was this information helpful?