App zur Analyse hochladen

Mit der Checks API können Android- und iOS-Apps vor der Veröffentlichung analysiert werden. So erhalten Sie Einblick in die Datenerhebung und ‑weitergabe Ihrer App sowie in potenzielle Compliance-Probleme, bevor Sie Ihre App öffentlich starten.

In dieser Kurzanleitung erfahren Sie, wie Sie eine App mit der gcloud CLI und dem cURL-Befehl hochladen.

Vorbereitung

Bevor Sie beginnen, müssen Sie autorisierte Anfragen senden können. Weitere Informationen finden Sie in unserem Autorisierungsleitfaden.

App-Bundle vorbereiten

Android

  1. Generieren Sie eine APK- oder AAB-Datei für Ihre App.

    Eine Anleitung finden Sie in der Android-Dokumentation unter Build and run your app (App erstellen und ausführen).

iOS

  1. Wählen Sie in Xcode ein Bereitstellungsprofil für die Ziel-App aus.

  2. Klicken Sie im Drop-down-Menü auf Product > Archive (Produkt > Archiv). Wählen Sie das neueste Archiv aus und klicken Sie dann auf Distribute App (App verteilen).

  3. Klicken Sie im angezeigten Fenster auf Development > Next (Entwicklung > Weiter).

  4. Optional: Wenn Sie einen schnelleren Build erhalten möchten, deaktivieren Sie die Option Rebuild from Bitcode (Aus Bitcode neu erstellen) und klicken Sie dann auf Next (Weiter).

    Für Checks ist es nicht erforderlich, Ihre App zu verkleinern oder neu zu erstellen, um einen Test auszuführen. Sie können diese Option also gefahrlos deaktivieren.

  5. Klicken Sie auf Exportieren und geben Sie dann ein Verzeichnis an, in das Sie die IPA-Datei Ihrer App herunterladen möchten.

App-Bundle hochladen

Laden Sie Ihr App-Bundle mit der media.upload Methode hoch.

Es gibt zwei Möglichkeiten, Ihre App hochzuladen:

Binär mit Metadaten

Sie können Metadaten wie die codeReferenceId einfügen, die die Analyse mit einem bestimmten Commit in Ihrem Code-Repository verknüpft.

Senden Sie eine mehrteilige POST-Anfrage mit dem Header X-Goog-Upload-Protocol: multipart. Der erste Teil des Texts enthält die Metadaten als JSON und der zweite Teil den binären Upload:

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"

Nur binär

Senden Sie eine reguläre POST-Anfrage mit dem Header X-Goog-Upload-Protocol: raw, um Ihre App ohne Metadaten hochzuladen:

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"

Sobald der Upload Ihrer App abgeschlossen ist, wird ein ausstehender google.longrunning.Operation zurückgegeben:

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

Status der Analyse prüfen

Sie können den Status Ihrer Analyse prüfen, indem Sie die accounts.apps.operations.get Methode aufrufen:

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"

Je nach Status wird die folgende Antwort zurückgegeben:

Ausstehend

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

Abgeschlossen

{
  "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"
  }
}

Fehler

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

Analyse ansehen

Rufen Sie die accounts.apps.reports.get Methode auf, um Ihre Analyse anzusehen:

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"

Standardmäßig werden nur der Name der Berichtsressource und eine URL zurückgegeben, über die Sie den Bericht in der Checks Console aufrufen können.

Wenn Sie weitere Daten sehen möchten, fügen Sie in der Anfrage eine Feldmaske ein. Fügen Sie beispielsweise den URL-Abfrageparameter fields=name,resultsUri,checks hinzu, um das checks Feld einzufügen:

{
  "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",
      ...
    },
    ...
  ]
}

Nächste Schritte

Unter Berichte abfragen erfahren Sie, wie Sie die Ergebnisse Ihrer Analyse abrufen.