Sube tu app para analizarla

La API de Checks puede analizar apps para Android y iOS antes del lanzamiento para que tengas visibilidad de los comportamientos de recopilación y uso compartido de datos de tu app, y de los posibles problemas de cumplimiento antes de lanzarla públicamente.

En esta guía de inicio rápido, se muestra cómo subir una app con la CLI de gcloud y el comando cURL.

Requisitos previos

Antes de comenzar, asegúrate de poder enviar solicitudes autorizadas con nuestra guía de autorización.

Prepara tu paquete de aplicación

Android

  1. Genera un archivo APK o AAB para tu app.

    Consulta Cómo compilar y ejecutar tu app en la documentación de Android para obtener instrucciones.

iOS

  1. En Xcode, selecciona un perfil de aprovisionamiento para la app de destino.

  2. En el menú desplegable que aparece, haz clic en Product > Archive. Selecciona el archivo más reciente y, luego, haz clic en Distribute App.

  3. En la ventana que aparece, haz clic en Development > Next.

  4. (Opcional) Para acelerar la compilación, desmarca la opción Rebuild from Bitcode y, luego, haz clic en Next.

    Checks no requiere reducir ni volver a compilar la app para ejecutar una prueba, por lo que puedes inhabilitar esta opción de forma segura.

  5. Haz clic en Export y, luego, especifica un directorio en el que quieras descargar el archivo IPA de tu app.

Cómo subir tu paquete de aplicación

Sube tu paquete de aplicación con el media.upload método.

Hay dos formas de subir tu app:

Objeto binario con metadatos

Puedes incluir metadatos, como codeReferenceId que vincula el análisis con una confirmación específica en tu repositorio de código.

Envía una solicitud POST de varias partes con el encabezado X-Goog-Upload-Protocol: multipart, en la que la primera parte del cuerpo contiene los metadatos como JSON y la segunda parte del cuerpo contiene la carga binaria:

curl -X POST \
    -H "X-Goog-User-Project: PROJECT_ID" \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token --scopes=https://www.googleapis.com/auth/checks)" \
    -H "X-Goog-Upload-Protocol: multipart" \
    -F "metadata={\"codeReferenceId\":\"COMMIT_SHA\"}" \
    -F "binary=@BINARY_PATH" \
    "https://checks.googleapis.com/upload/v1alpha/accounts/ACCOUNT_ID/apps/APP_ID/reports:analyzeUpload"

Solo datos binarios

Envía una solicitud POST normal con el encabezado X-Goog-Upload-Protocol: raw para subir tu app sin metadatos:

curl -X POST \
    -H "X-Goog-User-Project: PROJECT_ID" \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token --scopes=https://www.googleapis.com/auth/checks)" \
    -H "X-Goog-Upload-Protocol: raw" \
    -H "Content-Type: application/octet-stream" \
    --data-binary @BINARY_PATH \
    "https://checks.googleapis.com/upload/v1alpha/accounts/ACCOUNT_ID/apps/APP_ID/reports:analyzeUpload"

Una vez que se termine de subir la app, se mostrará un google.longrunning.Operation pendiente:

{
  "name": "accounts/ACCOUNT_ID/apps/APP_ID/operations/OPERATION_ID"
}

Cómo consultar el estado de tu análisis

Puedes consultar el estado de tu análisis llamando al accounts.apps.operations.get método:

curl -X GET \
    -H "X-Goog-User-Project: PROJECT_ID" \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token --scopes=https://www.googleapis.com/auth/checks)" \
    "https://checks.googleapis.com/v1alpha/accounts/ACCOUNT_ID/apps/APP_ID/operations/OPERATION_ID"

Se muestra la siguiente respuesta según el estado:

Pendiente

{
  "name": "accounts/ACCOUNT_ID/apps/APP_ID/operations/OPERATION_ID"
}

Completado

{
  "name": "accounts/ACCOUNT_ID/apps/APP_ID/operations/OPERATION_ID",
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.checks.report.v1alpha.Report",
    "name": "accounts/ACCOUNT_ID/apps/APP_ID/reports/REPORT_ID",
    "resultsUri": "https://checks.google.com/console/dashboard/REPORT_ID?a=APP_ID"
  }
}

Error

{
  "name": "accounts/ACCOUNT_ID/apps/APP_ID/operations/OPERATION_ID",
  "done": true,
  "error": {
    "code": 500,
    "message": "Deadline exceeded.",
    "status": "INTERNAL",
    "details": [
      ...
    ]
  }
}

Cómo ver tu análisis

Para ver tu análisis, llama al accounts.apps.reports.get método:

curl -X GET \
    -H "X-Goog-User-Project: PROJECT_ID" \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token --scopes=https://www.googleapis.com/auth/checks)" \
    "https://checks.googleapis.com/v1alpha/accounts/ACCOUNT_ID/apps/APP_ID/reports/REPORT_ID"

De forma predeterminada, esto solo muestra el nombre del recurso del informe y una URL para ver el informe en la consola de Checks.

Para ver más datos, incluye una máscara de campo en la solicitud. Por ejemplo, agrega el parámetro de consulta de URL fields=name,resultsUri,checks para incluir el checks campo:

{
  "name": "accounts/ACCOUNT_ID/apps/APP_ID/reports/REPORT_ID",
  "resultsUri": "https://checks.area120.google.com/console/dashboard/REPORT_ID?a=APP_ID",
  "checks": [
    {
      "type": "DATA_MONITORING_NEW_ENDPOINT",
      "severity": "POTENTIAL",
      "state": "FAILED",
      ...
    },
    ...
  ]
}

Próximos pasos

Consulta Cómo consultar informes para obtener información sobre cómo recuperar los resultados de tu análisis.