Mit der Checks API können Android- und iOS-Apps vor der Veröffentlichung analysiert werden. So erhalten Sie vor der öffentlichen Einführung Ihrer App Informationen zum Erheben und Weitergeben von Daten in Ihrer App sowie zu potenziellen Compliance-Problemen.
In dieser Kurzanleitung erfahren Sie, wie Sie eine App mit der gcloud CLI und dem cURL-Befehl hochladen.
Vorbereitung
Bevor Sie beginnen, sollten Sie sich mit unserer Anleitung zur Autorisierung vertraut machen, damit Sie autorisierte Anfragen senden können.
App-Bundle vorbereiten
Android
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
Wählen Sie in Xcode ein Bereitstellungsprofil für die Ziel-App aus.
Klicken Sie im Drop-down-Menü, das daraufhin angezeigt wird, auf Produkt > Archivieren. Wählen Sie das neueste Archiv aus und klicken Sie auf App bereitstellen.
Klicken Sie im angezeigten Fenster auf Entwicklung > Weiter.
Optional: Wenn Sie einen schnelleren Build wünschen, deaktivieren Sie die Option Rebuild from Bitcode (Aus Bitcode neu erstellen) und klicken Sie auf Next (Weiter).
Für die Überprüfung ist es nicht erforderlich, Ihre App zu verkleinern oder neu zu erstellen, um einen Test auszuführen. Sie können diese Option also deaktivieren.
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 Methode media.upload
hoch.
Es gibt zwei Möglichkeiten, Ihre App hochzuladen:
Binärdatei 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 Textteil enthält die Metadaten als JSON und der zweite Textteil 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 der Status „Ausstehend“ google.longrunning.Operation
zurückgegeben:
{
"name": "accounts/ACCOUNT_ID/apps/APP_ID/operations/OPERATION_ID"
}
Status Ihrer Analyse prüfen
Sie können den Status Ihrer Analyse mit der Methode accounts.apps.operations.get
prüfen:
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 Methode accounts.apps.reports.get
auf, um Ihre Analyse aufzurufen:
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 Ressourcenname des Berichts und eine URL zurückgegeben, über die der Bericht in der Checks Console aufgerufen werden kann.
Wenn Sie weitere Daten sehen möchten, fügen Sie der Anfrage eine Feldmaske hinzu. Fügen Sie beispielsweise den URL-Suchparameter fields=name,resultsUri,checks
hinzu, um das Feld checks
einzuschließen:
{
"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.