Integrar reCAPTCHA Enterprise en apps para iOS

En esta página, se explica cómo integrar reCAPTCHA Enterprise en tu app para iOS. Debido a la variación en dispositivos móviles en términos de tamaño de la pantalla, IU y rendimiento de las apps, el desafío visual de reCAPTCHA (I'm not a robot) no está disponible para las apps para dispositivos móviles. Para ver un método de fricción alternativo, consulta Configura la autenticación de varios factores (MFA).

Antes de comenzar

  1. Elige el mejor método para configurar reCAPTCHA Enterprise en tu entorno y completa la configuración.

  2. Se puede acceder al SDK de iOS después de una revisión de seguridad. Comunícate con nuestro equipo de ventas para incorporar tu sitio a esta función.

  3. Crea una clave de reCAPTCHA para la plataforma de apps para iOS.

  4. Según el método de integración, pídele al representante de ventas que te otorgue acceso a uno de los siguientes repositorios: reCAPTCHA Enterprise CocoaPods, el repositorio de Swift Package Manager o la descarga del SDK de iOS.

  5. Para preparar el entorno de desarrollo, haz lo siguiente:

    • Descarga e instala la versión más reciente de Xcode. Luego, crea una aplicación nueva de vista única para iOS en blanco.
    • Descarga e instala CocoaPods.

      El pod de reCAPTCHA Enterprise es bastante grande. Sin embargo, después de instalar reCAPTCHA Enterprise, debido a la vinculación dinámica, el tamaño del IPA del usuario y la app instalada es de aproximadamente 598 KB y 1.786 MB, respectivamente.

    • Descarga el SDK con CocoaPods, Swift Package Manager o desde la página de descarga.

      CocoaPods

      1. Genere una cookie de Git.
      2. Crea un Podfile y agrega las siguientes líneas a tu Podfile:

        source "https://cpdc-eap.googlesource.com/RecaptchaEnterprise.git"
        source "https://github.com/CocoaPods/Specs.git"
        
        pod "RecaptchaEnterprise", "17.0.0"
        
      3. Ejecuta pod update para instalar las dependencias necesarias.

      Swift Package Manager

      1. En XCode, selecciona File > Add Packages e ingresa la siguiente URL en el campo Search o Enter Package URL: https://github.com/GoogleCloudPlatform/recaptcha-enterprise-mobile-sdk
      2. En el cuadro de diálogo de Xcode, ingresa el nombre de usuario de GitHub que le proporcionaste a tu representante de ventas para la cuenta y un token de acceso personal creado con las instrucciones de GitHub. El token de acceso personal debe tener los alcances enumerados en el cuadro de diálogo de acceso con Xcode.

        Xcode instala el SDK y sus dependencias necesarias.

      Descarga directa

      Descarga el objeto binario del SDK desde la página de descarga del SDK de iOS.

Configura la app

Con CocoaPods, puedes escribir tus apps en Swift o en Objective-C. Para configurar tu app, haz lo siguiente:

  1. Para asegurarte de que -ObjC aparezca en las marcas del vinculador, navega a Objetivo > Configuración de compilación > Todas > Vinculación y verifica que Other Linker Flags muestre -ObjC.

  2. Si tu app está escrita en Swift, crea un encabezado de puente de Objective-C y agrega la siguiente importación:

    #import <recaptcha/recaptcha.h>
    

Integra reCAPTCHA Enterprise en tu app para iOS

Para integrar reCAPTCHA Enterprise a tu app para iOS, sigue estos pasos en Xcode:

  1. Para crear una instancia del SDK con la clave de reCAPTCHA que creaste, actualiza ViewController con el siguiente código:

    Swift

    let recaptchaClient = RecaptchaClient(siteKey: "reCAPTCHA_KEY_iOS")
    

    Objective‑C

    RecaptchaClient *recaptchaClient = [[RecaptchaClient alloc] initWithSiteKey:@"reCAPTCHA_KEY_iOS"];
    

  2. Crea un botón para llamar a reCAPTCHA Enterprise y activar el código que incorporaste en ViewController:

    1. En el storyboard, crea un botón.
    2. Crea una acción en ViewController vinculada al botón que creaste.
    3. Llama al método execute() para mostrar un token de reCAPTCHA con el siguiente fragmento de código:

      Swift

      recaptchaClient.execute(RecaptchaAction(action: .login)) { token, error in
       if let recaptchaToken = token {
              print(recaptchaToken.recaptchaToken)
           }
            if let error = error {
              print(error)
            }
       }
      

      Objective‑C

       [recaptchaClient execute: [[RecaptchaAction alloc] initWithAction: RecaptchaActionTypeLogin] onFinishedExecute: ^ (RecaptchaToken * _Nullable token, RCARecaptchaError * _Nullable error) {
      
           if (error) {
               NSLog (@ "% @", error);
           } else {
               NSLog (@ "% @", token);
           }
      
       }];
      
      

  3. Prueba tu aplicación:

    1. Para limpiar tu entorno de compilación de Xcode, en el menú Producto, haz clic en Limpiar carpeta de compilación.
    2. Para ejecutar la aplicación, en el menú Producto, haz clic en Ejecutar.
    3. En la aplicación cargada, haz clic en el botón de reCAPTCHA que creaste anteriormente.
    4. Observa la ventana de salida de depuración para un token de reCAPTCHA (string alfanumérica), que se muestra si la integración es correcta.

Referencia de API de iOS

Comunícate con tu representante de ventas para que te otorgue acceso a la página de descarga del SDK para iOS. En la página de descarga del SDK de iOS, se explican los detalles de la etiqueta de privacidad de reCAPTCHA.

¿Qué sigue?