logoDocumentación
Buscar

API del SDK de iOS

GTCaptcha4SessionTaskDelegate

Protocolo delegado de tareas de sesión de verificación

gtCaptchaSession:didReceive:result:

Callback para los parámetros de resultado de la sesión de verificación.

Declaration

- (void)gtCaptchaSession:(GTCaptcha4Session *)captchaSession didReceive:(NSString *)status result:(nullable NSDictionary *)result;
              
              - (void)gtCaptchaSession:(GTCaptcha4Session *)captchaSession
              didReceive:(NSString *)status
                  result:(nullable NSDictionary *)result;

            
Este bloque de código se muestra en una ventana flotante

Parameters

Parámetro Descripción
captchaSession Sesión de verificación
status Código de estado. @"0"/@"1": Incompleto/Completo.
Cuando status es @"1", indica éxito y el resultado requiere verificación secundaria.
result Parámetros de verificación del resultado.

Discussion

Tras obtener los parámetros del resultado de la verificación, se deben enviar al servidor backend para completar la verificación de parámetros. Ejemplo de result:

{ pass_token = "eb6d2e064524ae96ddc99a0e6e15f95dbb234008d108f0db269f27d426bcf3c6"; gen_time = "1660894030"; captcha_output = "fI9I34MDjVi10gJO_EqXwNpN8hK0rYLEPVWSDE4W6kc1umDoTHIlD_t6YQNNpPG2tJlKR8he6WFWkkllU8goGeNVNOzhqmAm256BpK8qAEHNrOjHzkNagfIcx_A21ssPrG6YlnnHFx3PfBnbrn5fb2aKDIi0I5xmCUjxq0dsFuANLIQVtllMjkJ7-1l_j-Wz"; captcha_id = "647f5ed2ed8acb4be36784e01556bb71"; lot_number = "0861c607d519469b9117d0c6dd551fe3"; }
              
              {
    pass_token = "eb6d2e064524ae96ddc99a0e6e15f95dbb234008d108f0db269f27d426bcf3c6";
    gen_time = "1660894030";
    captcha_output = "fI9I34MDjVi10gJO_EqXwNpN8hK0rYLEPVWSDE4W6kc1umDoTHIlD_t6YQNNpPG2tJlKR8he6WFWkkllU8goGeNVNOzhqmAm256BpK8qAEHNrOjHzkNagfIcx_A21ssPrG6YlnnHFx3PfBnbrn5fb2aKDIi0I5xmCUjxq0dsFuANLIQVtllMjkJ7-1l_j-Wz";
    captcha_id = "647f5ed2ed8acb4be36784e01556bb71";
    lot_number = "0861c607d519469b9117d0c6dd551fe3";
}

            
Este bloque de código se muestra en una ventana flotante

gtCaptchaSession:didReceiveError:

Callback para los errores que se producen durante la sesión de verificación.

Declaration

- (void)gtCaptchaSession:(GTCaptcha4Session *)captchaSession didReceiveError:(GTC4Error *)error;
              
              - (void)gtCaptchaSession:(GTCaptcha4Session *)captchaSession
         didReceiveError:(GTC4Error *)error;

            
Este bloque de código se muestra en una ventana flotante

Parameters

Parámetro Descripción
captchaSession Sesión de verificación
error Objeto de descripción del error

Seealso

Error

GTCaptcha4Session

Sesión de verificación

delegate

Delegado de tareas de sesión de verificación.

Declaration

@property (nonatomic, weak) id<GTCaptcha4SessionTaskDelegate> delegate;
              
              @property (nonatomic, weak) id<GTCaptcha4SessionTaskDelegate> delegate;

            
Este bloque de código se muestra en una ventana flotante

captchaID

ID de verificación de la sesión actual.

Declaration

@property (nonnull, readonly, nonatomic, strong) NSString *captchaID;
              
              @property (nonnull, readonly, nonatomic, strong) NSString *captchaID;

            
Este bloque de código se muestra en una ventana flotante

challenge

Número de serie de la sesión de verificación actual.

Declaration

@property (nullable, readonly, nonatomic, strong) NSString *challenge;
              
              @property (nullable, readonly, nonatomic, strong) NSString *challenge;

            
Este bloque de código se muestra en una ventana flotante

configuration

Configuración de la sesión de verificación actual.

Declaration

@property (nonnull, readonly, nonatomic, strong) GTCaptcha4SessionConfiguration *configuration;
              
              @property (nonnull, readonly, nonatomic, strong) GTCaptcha4SessionConfiguration *configuration;

            
Este bloque de código se muestra en una ventana flotante

sessionWithCaptchaID:

Crear una nueva instancia de sesión de verificación.

Declaration

+ (instancetype)sessionWithCaptchaID:(NSString *)captchaID;
              
              + (instancetype)sessionWithCaptchaID:(NSString *)captchaID;

            
Este bloque de código se muestra en una ventana flotante

Parameters

Parámetro Descripción
captchaID ID de verificación

Return Value

Una nueva instancia de GTCaptcha4Session

sessionWithCaptchaID:configuration:

Crear una nueva instancia de sesión de verificación.

Declaration

+ (instancetype)sessionWithCaptchaID:(NSString *)captchaID configuration:(nullable GTCaptcha4SessionConfiguration *)configuration;
              
              + (instancetype)sessionWithCaptchaID:(NSString *)captchaID
                       configuration:(nullable GTCaptcha4SessionConfiguration *)configuration;

            
Este bloque de código se muestra en una ventana flotante
Parámetro Descripción
captchaID ID de verificación
configuration Configuración de la sesión

Return Value

Una nueva instancia de GTCaptcha4Session

initWithCaptchaID:

Crear una nueva instancia de sesión de verificación.

Declaration

- (instancetype)initWithCaptchaID:(NSString *)captchaID;
              
              - (instancetype)initWithCaptchaID:(NSString *)captchaID;

            
Este bloque de código se muestra en una ventana flotante

Parameters

Parámetro Descripción
captchaID ID de verificación

Return Value

Una nueva instancia de GTCaptcha4Session

initWithCaptchaID:configuration:

Crear una nueva instancia de sesión de verificación.

Declaration

- (instancetype)initWithCaptchaID:(NSString *)captchaID configuration:(nullable GTCaptcha4SessionConfiguration *)configuration;
              
              - (instancetype)initWithCaptchaID:(NSString *)captchaID
                    configuration:(nullable GTCaptcha4SessionConfiguration *)configuration;

            
Este bloque de código se muestra en una ventana flotante
Parámetro Descripción
captchaID ID de verificación
configuration Configuración de la sesión

Return Value

Una nueva instancia de GTCaptcha4Session

verify

Iniciar la verificación.

Declaration

- (void)verify;
              
              - (void)verify;

            
Este bloque de código se muestra en una ventana flotante

cancel

Cancelar la verificación.

Declaration

- (void)cancel;
              
              - (void)cancel;

            
Este bloque de código se muestra en una ventana flotante

sdkVersion

Obtener el número de versión del SDK.

Declaration

+ (NSString *)sdkVersion;
              
              + (NSString *)sdkVersion;

            
Este bloque de código se muestra en una ventana flotante

GTCaptcha4SessionConfiguration

Configuración de la sesión de verificación

GTC4UserInterfaceStyle

Estilo de la interfaz de verificación.

Declaration

typedef NS_ENUM(NSInteger, GTC4UserInterfaceStyle) { /** Follow system style */ GTC4UserInterfaceStyleSystem = 0, /** Light style */ GTC4UserInterfaceStyleLight, /** Dark style */ GTC4UserInterfaceStyleDark, /** Default style */ GTC4UserInterfaceStyleDefault = GTC4UserInterfaceStyleLight };
              
              typedef NS_ENUM(NSInteger, GTC4UserInterfaceStyle) {
    /** Follow system style */
    GTC4UserInterfaceStyleSystem = 0,
    /** Light style */
    GTC4UserInterfaceStyleLight,
    /** Dark style */
    GTC4UserInterfaceStyleDark,
    /** Default style */
    GTC4UserInterfaceStyleDefault = GTC4UserInterfaceStyleLight
};

            
Este bloque de código se muestra en una ventana flotante

resourcePath

Ruta completa para el acceso remoto a recursos estáticos; el valor predeterminado es vacío.

Declaration

@property (nullable, nonatomic, strong) NSString *resourcePath;
              
              @property (nullable, nonatomic, strong) NSString *resourcePath;

            
Este bloque de código se muestra en una ventana flotante

protocol

Protocolo utilizado para el acceso remoto a recursos estáticos; el valor predeterminado es @"https".

Declaration

@property (nonatomic, strong) NSString *protocol;
              
              @property (nonatomic, strong) NSString *protocol;

            
Este bloque de código se muestra en una ventana flotante

userInterfaceStyle

Estilo de la interfaz y de la barra de estado; el valor predeterminado es blanco liso.

Declaration

@property (nonatomic, assign) GTC4UserInterfaceStyle userInterfaceStyle;
              
              @property (nonatomic, assign) GTC4UserInterfaceStyle userInterfaceStyle;

            
Este bloque de código se muestra en una ventana flotante

backgroundColor

Color de fondo; el valor predeterminado es transparente.

Declaration

@property (nonatomic, strong) UIColor *backgroundColor;
              
              @property (nonatomic, strong) UIColor *backgroundColor;

            
Este bloque de código se muestra en una ventana flotante

debugEnable

Conmutador del modo de depuración; el valor predeterminado es desactivado.

Declaration

@property (nonatomic, assign) BOOL debugEnable;
              
              @property (nonatomic, assign) BOOL debugEnable;

            
Este bloque de código se muestra en una ventana flotante

backgroundUserInteractionEnable

Interacción con el fondo; el valor predeterminado está habilitado.

Declaration

@property (nonatomic, assign) BOOL backgroundUserInteractionEnable;
              
              @property (nonatomic, assign) BOOL backgroundUserInteractionEnable;

            
Este bloque de código se muestra en una ventana flotante

timeout

Duración del tiempo de espera de la solicitud; el valor predeterminado es 8 segundos.

Declaration

@property (nonatomic, assign) NSTimeInterval timeout;
              
              @property (nonatomic, assign) NSTimeInterval timeout;

            
Este bloque de código se muestra en una ventana flotante

language

Idioma; de forma predeterminada sigue al sistema. Para idiomas específicos, consultar los códigos abreviados de idioma.

Declaration

@property (nonatomic, strong) NSString *language;
              
              @property (nonatomic, strong) NSString *language;

            
Este bloque de código se muestra en una ventana flotante

supportedInterfaceOrientations

Orientaciones de pantalla compatibles.

Declaration

@property (assign, nonatomic) UIInterfaceOrientationMask supportedInterfaceOrientations;
              
              @property (assign, nonatomic) UIInterfaceOrientationMask supportedInterfaceOrientations;

            
Este bloque de código se muestra en una ventana flotante

additionalParameter

Parámetros adicionales; el valor predeterminado es vacío. Los parámetros se ensamblarán y se enviarán a engagelab.

Declaration

@property (nullable, nonatomic, strong) NSDictionary *additionalParameter;
              
              @property (nullable, nonatomic, strong) NSDictionary *additionalParameter;

            
Este bloque de código se muestra en una ventana flotante

Discussion

La lista de clave-valor compatible es la siguiente:

Clave Tipo Descripción Valor predeterminado
@"loading" NSString Indicador personalizado del estado de carga; ruta relativa del recurso de carga para cargar el HTML en WebView. Establecer una cadena vacía cancela la carga. @"./gt4-loading.gif"
@"rem" NSNumber Establecer la relación de escalado general del código de verificación. @(1)
@"hideBar" NSArray<NSString *> * Ocultar el botón de cierre y el botón de actualización en pantallas de verificación posteriores. Establecer @[@"close", @"refresh"] oculta los botones de cierre y actualización. @[]
@"nextWidth" NSString Ancho de la ventana emergente del código de verificación, con unidades como @"300px". nil
@"riskType" NSString Especificar el tipo de verificación junto con la integración de control de riesgos. nil
@"hideSuccess" NSNumber Ocultar la ventana emergente de verificación correcta; @(0)/@(1) para no ocultar u ocultar. @(0)

Sample Code

#define captchaID @"1234567890abcdef" GTCaptcha4SessionConfiguration *config = [GTCaptcha4SessionConfiguration defaultConfiguration]; NSMutableDictionary *params = [@{} mutableCopy]; [params setValue:@(1.25) forKey:@"rem"]; // Scale up by 1.25 times [params setValue:@[@"close", @"refresh"] forKey:@"hideBar"]; // Hide close and refresh buttons [params setValue:@"300px" forKey:@"nextWidth"]; [params setValue:@"click" forKey:@"riskType"]; // Specify smart click verification, consistent with backend configuration [params setValue:@(1) forKey:@"hideSuccess"]; // Use NSNumber to represent boolean value [params setValue:@"./gt4-loading.gif" forKey:@"loading"]; config.additionalParameter = params; GTCaptcha4Session *captchaSession = [GTCaptcha4Session sessionWithCaptchaID:captchaID configuration:config]; ...
              
              #define captchaID @"1234567890abcdef"

GTCaptcha4SessionConfiguration *config = [GTCaptcha4SessionConfiguration defaultConfiguration];

NSMutableDictionary *params = [@{} mutableCopy];
[params setValue:@(1.25)                  forKey:@"rem"]; // Scale up by 1.25 times
[params setValue:@[@"close", @"refresh"]  forKey:@"hideBar"]; // Hide close and refresh buttons
[params setValue:@"300px"                 forKey:@"nextWidth"];
[params setValue:@"click"                 forKey:@"riskType"]; // Specify smart click verification, consistent with backend configuration
[params setValue:@(1)                     forKey:@"hideSuccess"]; // Use NSNumber to represent boolean value
[params setValue:@"./gt4-loading.gif"     forKey:@"loading"];

config.additionalParameter = params;

GTCaptcha4Session *captchaSession = [GTCaptcha4Session sessionWithCaptchaID:captchaID configuration:config];
...

            
Este bloque de código se muestra en una ventana flotante

defaultConfiguration

Obtener una configuración predeterminada.

Declaration

+ (GTCaptcha4SessionConfiguration *)defaultConfiguration;
              
              + (GTCaptcha4SessionConfiguration *)defaultConfiguration;

            
Este bloque de código se muestra en una ventana flotante

Return Value

+ (GTCaptcha4SessionConfiguration *)defaultConfiguration { GTCaptcha4SessionConfiguration *config = [[GTCaptcha4SessionConfiguration alloc] init]; config.debugEnable = NO; config.timeout = 8.0; config.language = [GTC4Utils systemLanguage]; config.protocol = @"https"; config.userInterfaceStyle = GTC4UserInterfaceStyleDefault; config.backgroundColor = [UIColor clearColor]; config.backgroundUserInteractionEnable = YES; return config; }
              
              + (GTCaptcha4SessionConfiguration *)defaultConfiguration {
    GTCaptcha4SessionConfiguration *config = [[GTCaptcha4SessionConfiguration alloc] init];
    config.debugEnable  = NO;
    config.timeout      = 8.0;
    config.language     = [GTC4Utils systemLanguage];
    config.protocol     = @"https";
    config.userInterfaceStyle = GTC4UserInterfaceStyleDefault;
    config.backgroundColor = [UIColor clearColor];
    config.backgroundUserInteractionEnable = YES;
    
    return config;
}

            
Este bloque de código se muestra en una ventana flotante

Error

Objeto de descripción del error

/// Invalid parameter. Please check the input parameters. FOUNDATION_EXPORT NSString * const GTC4ErrorCodeInvalidParameter; /// Operation failed. Check the detailed description. FOUNDATION_EXPORT NSString * const GTC4ErrorCodeOperationFail; /// Resource missing. Please check if the GTCaptcha4.bundle file is complete. FOUNDATION_EXPORT NSString * const GTC4ErrorCodeMissedResource; /// User canceled the verification. FOUNDATION_EXPORT NSString * const GTC4ErrorCodeUserDidCancel; /// Failed to load the file. Please check if the complete GTCaptcha4.bundle file is imported or if the configured remote static resource is accessible. FOUNDATION_EXPORT NSString * const GTC4ErrorCodeLoadFileFailure; /// Loading timeout. FOUNDATION_EXPORT NSString * const GTC4ErrorCodeTimeout; /// Failed to execute Javascript script. FOUNDATION_EXPORT NSString * const GTC4ErrorCodeEvaluatingJavascriptFail; /// Javascript returned an error. FOUNDATION_EXPORT NSString * const GTC4ErrorCodeJavascriptError; /// WebView memory warning. FOUNDATION_EXPORT NSString * const GTC4ErrorCodeWebViewMemoryWarning; /// Unknown error. FOUNDATION_EXPORT NSString * const GTC4ErrorCodeUnknown;
              
              /// Invalid parameter. Please check the input parameters.
FOUNDATION_EXPORT NSString * const GTC4ErrorCodeInvalidParameter;
/// Operation failed. Check the detailed description.
FOUNDATION_EXPORT NSString * const GTC4ErrorCodeOperationFail;
/// Resource missing. Please check if the GTCaptcha4.bundle file is complete.
FOUNDATION_EXPORT NSString * const GTC4ErrorCodeMissedResource;

/// User canceled the verification.
FOUNDATION_EXPORT NSString * const GTC4ErrorCodeUserDidCancel;

/// Failed to load the file. Please check if the complete GTCaptcha4.bundle file is imported or if the configured remote static resource is accessible.
FOUNDATION_EXPORT NSString * const GTC4ErrorCodeLoadFileFailure;
/// Loading timeout.
FOUNDATION_EXPORT NSString * const GTC4ErrorCodeTimeout;
/// Failed to execute Javascript script.
FOUNDATION_EXPORT NSString * const GTC4ErrorCodeEvaluatingJavascriptFail;
/// Javascript returned an error.
FOUNDATION_EXPORT NSString * const GTC4ErrorCodeJavascriptError;
/// WebView memory warning.
FOUNDATION_EXPORT NSString * const GTC4ErrorCodeWebViewMemoryWarning;

/// Unknown error.
FOUNDATION_EXPORT NSString * const GTC4ErrorCodeUnknown;

            
Este bloque de código se muestra en una ventana flotante

code

Código de error. Se puede utilizar para la comparación y la gestión.

Declaration

@property (readonly, nonatomic, strong) NSString *code;
              
              @property (readonly, nonatomic, strong) NSString *code;

            
Este bloque de código se muestra en una ventana flotante

Seealso

Consultar la lista de códigos de error anterior.

msg

Mensaje de error. Se puede utilizar para la visualización en la interfaz de usuario.

Declaration

@property (readonly, nonatomic, strong) NSString *msg;
              
              @property (readonly, nonatomic, strong) NSString *msg;

            
Este bloque de código se muestra en una ventana flotante

desc

Descripción detallada del error. Se utiliza para la resolución detallada de incidencias.

Declaration

@property (readonly, nonatomic, strong) NSDictionary *desc;
              
              @property (readonly, nonatomic, strong) NSDictionary *desc;

            
Este bloque de código se muestra en una ventana flotante

Discussion

Se puede utilizar para dar soporte a incidencias operativas en la verificación del usuario.

Icon Solid Transparent White Qiyu
Contacto