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;
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";
}
gtCaptchaSession:didReceiveError:
Callback para los errores que se producen durante la sesión de verificación.
Declaration
- (void)gtCaptchaSession:(GTCaptcha4Session *)captchaSession
didReceiveError:(GTC4Error *)error;
Parameters
| Parámetro | Descripción |
|---|---|
| captchaSession | Sesión de verificación |
| error | Objeto de descripción del error |
Seealso
GTCaptcha4Session
Sesión de verificación
delegate
Delegado de tareas de sesión de verificación.
Declaration
@property (nonatomic, weak) id<GTCaptcha4SessionTaskDelegate> delegate;
captchaID
ID de verificación de la sesión actual.
Declaration
@property (nonnull, readonly, nonatomic, strong) NSString *captchaID;
challenge
Número de serie de la sesión de verificación actual.
Declaration
@property (nullable, readonly, nonatomic, strong) NSString *challenge;
configuration
Configuración de la sesión de verificación actual.
Declaration
@property (nonnull, readonly, nonatomic, strong) GTCaptcha4SessionConfiguration *configuration;
sessionWithCaptchaID:
Crear una nueva instancia de sesión de verificación.
Declaration
+ (instancetype)sessionWithCaptchaID:(NSString *)captchaID;
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;
| 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;
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;
| 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;
cancel
Cancelar la verificación.
Declaration
- (void)cancel;
sdkVersion
Obtener el número de versión del SDK.
Declaration
+ (NSString *)sdkVersion;
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
};
resourcePath
Ruta completa para el acceso remoto a recursos estáticos; el valor predeterminado es vacío.
Declaration
@property (nullable, nonatomic, strong) NSString *resourcePath;
protocol
Protocolo utilizado para el acceso remoto a recursos estáticos; el valor predeterminado es @"https".
Declaration
@property (nonatomic, strong) NSString *protocol;
userInterfaceStyle
Estilo de la interfaz y de la barra de estado; el valor predeterminado es blanco liso.
Declaration
@property (nonatomic, assign) GTC4UserInterfaceStyle userInterfaceStyle;
backgroundColor
Color de fondo; el valor predeterminado es transparente.
Declaration
@property (nonatomic, strong) UIColor *backgroundColor;
debugEnable
Conmutador del modo de depuración; el valor predeterminado es desactivado.
Declaration
@property (nonatomic, assign) BOOL debugEnable;
backgroundUserInteractionEnable
Interacción con el fondo; el valor predeterminado está habilitado.
Declaration
@property (nonatomic, assign) BOOL backgroundUserInteractionEnable;
timeout
Duración del tiempo de espera de la solicitud; el valor predeterminado es 8 segundos.
Declaration
@property (nonatomic, assign) NSTimeInterval timeout;
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;
supportedInterfaceOrientations
Orientaciones de pantalla compatibles.
Declaration
@property (assign, nonatomic) UIInterfaceOrientationMask supportedInterfaceOrientations;
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;
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];
...
defaultConfiguration
Obtener una configuración predeterminada.
Declaration
+ (GTCaptcha4SessionConfiguration *)defaultConfiguration;
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;
}
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;
code
Código de error. Se puede utilizar para la comparación y la gestión.
Declaration
@property (readonly, nonatomic, strong) NSString *code;
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;
desc
Descripción detallada del error. Se utiliza para la resolución detallada de incidencias.
Declaration
@property (readonly, nonatomic, strong) NSDictionary *desc;
Discussion
Se puede utilizar para dar soporte a incidencias operativas en la verificación del usuario.
