Checks API, Android ve iOS uygulamalarını yayınlanmadan önce analiz ederek uygulamanızın veri toplama ve paylaşma davranışları ile olası uygunluk sorunları hakkında uygulamanızı herkese açık olarak yayınlamadan önce bilgi sahibi olmanızı sağlar.
Bu hızlı başlangıç kılavuzunda, gcloud CLI ve cURL komutunu kullanarak bir uygulamayı nasıl yükleyeceğiniz gösterilmektedir.
Ön koşullar
Başlamadan önce Yetkilendirme kılavuzumuzu kullanarak yetkilendirilmiş istekler gönderebildiğinizden emin olun.
Uygulama paketinizi hazırlama
Android
Uygulamanız için bir APK veya AAB dosyası oluşturun.
Talimatlar için Android dokümanlarındaki Uygulamanızı derleyip çalıştırma başlıklı konuya bakın.
iOS
Xcode'da hedef uygulama için bir sağlama profili seçin.
Görüntülenen açılır menüden Ürün > Arşivle'yi tıklayın. En son arşivi seçin ve Uygulamayı dağıt'ı tıklayın.
Açılan pencerede Geliştirme > İleri'yi tıklayın.
(İsteğe bağlı) Daha hızlı bir derleme elde etmek için Bitcode'dan yeniden oluştur seçeneğinin işaretini kaldırın ve Sonraki'yi tıklayın.
Denetimler, test çalıştırmak için uygulamanızın inceltilmesini veya yeniden oluşturulmasını gerektirmez. Bu nedenle, bu seçeneği güvenle devre dışı bırakabilirsiniz.
Dışa aktar'ı tıklayın, ardından uygulamanızın IPA dosyasını indirmek istediğiniz dizini belirtin.
Uygulama paketinizi yükleme
media.upload
yöntemini kullanarak uygulama paketinizi yükleyin.
Uygulamanızı yüklemenin iki yolu vardır:
Meta veriler içeren ikili dosyalar
Analizi kod deponuzdaki belirli bir commit ile ilişkilendiren codeReferenceId
gibi meta veriler ekleyebilirsiniz.
İlk gövde bölümü meta verileri JSON olarak, ikinci gövde bölümü ise ikili yüklemeyi içerecek şekilde X-Goog-Upload-Protocol: multipart
üstbilgisiyle çok parçalı bir POST isteği gönderin:
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"
Yalnızca ikili
Uygulamanızı meta veriler olmadan yüklemek için X-Goog-Upload-Protocol: raw
üst bilgisiyle normal bir POST isteği gönderin:
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"
Uygulamanızın yüklenmesi tamamlandıktan sonra bekleyen bir google.longrunning.Operation
döndürülür:
{
"name": "accounts/ACCOUNT_ID/apps/APP_ID/operations/OPERATION_ID"
}
Analizinizin durumunu kontrol etme
accounts.apps.operations.get
yöntemini çağırarak analizin durumunu kontrol edebilirsiniz:
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"
Duruma bağlı olarak aşağıdaki yanıt döndürülür:
Beklemede
{
"name": "accounts/ACCOUNT_ID/apps/APP_ID/operations/OPERATION_ID"
}
Eksiksiz
{
"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"
}
}
Hata
{
"name": "accounts/ACCOUNT_ID/apps/APP_ID/operations/OPERATION_ID",
"done": true,
"error": {
"code": 500,
"message": "Deadline exceeded.",
"status": "INTERNAL",
"details": [
...
]
}
}
Analizinizi görüntüleme
accounts.apps.reports.get
yöntemini çağırarak analizinizi görüntüleyin:
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"
Varsayılan olarak bu, yalnızca rapor kaynağı adını ve raporu Kontroller Konsolu'nda görüntülemek için bir URL döndürür.
Daha fazla veri görmek için isteğe alan maskesi ekleyin. Örneğin, checks
alanını eklemek için fields=name,resultsUri,checks
URL sorgu parametresini ekleyin:
{
"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",
...
},
...
]
}
Sırada ne var?
Analizinizin sonuçlarını nasıl alacağınızı öğrenmek için Sorgu raporları başlıklı makaleyi inceleyin.