Esecuzione di query su insiemi di metriche

Dopo aver configurato tutto, puoi inviare richieste all'API Google Play Developer Reporting per recuperare i metadati relativi agli insiemi di metriche e interrogare le relative metriche.

I seguenti esempi di codice mostrano come inviare alcune semplici richieste. Ad esempio, i metodi riportati di seguito mostrano come recuperare varie metriche per la tua app. Esistono alcuni parametri di ricerca diversi che possono essere utilizzati per restringere la query.

Recupero dei metadati dell'insieme di metriche

L'esempio seguente recupera i metadati per la metrica della percentuale di arresti anomali impostata per un'applicazione fittizia, com.example.app.

Richiesta semplice:

Questa richiesta HTTP GET specifica il parametro del nome dell'applicazione e restituisce la risorsa completa della metrica associata all'applicazione.

GET https://playdeveloperreporting.googleapis.com/v1beta1/apps/com.example.app/crashRateMetricSet

Risposta alle informazioni sulla metrica:

La risposta include i seguenti campi relativi all'insieme di metriche:

{
  "freshness_info": {
    "freshness": [
      "aggregation_period": "DAILY"
      "latest_end_time": { year: "2021" month: "7" day: "22" time_zone: "America/Los_Angeles" }
    ]
  }
}

usando la funzionalità di query.

La seguente richiesta HTTP POSTper la stessa risorsa utilizza l'endpoint query per recuperare dati specifici dall'interno del set di metriche.

POST https://playdeveloperreporting.googleapis.com/v1beta1/apps/com.example.app/crashRateMetricSet:query

Nel corpo della richiesta, trasmetti le opzioni di query per recuperare le metriche in base a criteri specifici.

{
  "timeline_spec": {
    "aggregation_period": "DAILY"
    "start_time": { year: "2021" month: "7" day: "1" time_zone: "America/Los_Angeles" }
    "end_time": { year: "2021" month: "7" day: "3" time_zone: "America/Los_Angeles" }
   }
  "dimensions": ["apiLevel"]
  "metrics": ["errorReportCount", "distinctUsers"]
  "page_size": "10"
}

Ecco alcuni esempi a livello di raccolta:

Campi
timelineSpec

object (TimelineSpec)

Specifica dei parametri di aggregazione della sequenza temporale. Consulta la documentazione di ogni insieme di metriche per un elenco dei periodi di aggregazione supportati.

dimensions[]

string

Dimensioni in base alle quali suddividere le metriche. Consulta la documentazione di ogni set di metriche per un elenco delle dimensioni supportate.

metrics[]

string

Metriche da aggregare.

pageSize

integer

Dimensione massima dei dati restituiti.

Se non viene specificato, verrà restituito al massimo 1000 righe. Il valore massimo è 100.000; i valori superiori a 100.000 saranno forzati a 100.000.

Gestione delle risposte

Dopo aver elaborato una richiesta valida che include campi validi, il server restituisce un codice di stato HTTP 200 OK, insieme ai dati richiesti. Se il parametro di ricerca fields contiene un errore o non è valido, il server restituisce un codice di stato HTTP 400 Bad Request e un messaggio di errore che segnala all'utente l'errore nella selezione dei campi (ad esempio, "Invalid field timeline_spec").

Ecco l'esempio di risposta mostrato nella sezione introduttiva precedente.

POST https://playdeveloperreporting.googleapis.com/v1beta1/apps/com.example.app/crashRateMetricSet:query

La risposta sarà simile alla seguente:

200 OK
{
  rows: [
    {
      aggregation_period: "DAILY"
      start_time: { year: "2021" month: "7" day: "1" time_zone: "America/Los_Angeles" }
      dimensions: [{dimension: "apiLevel" int64_value: "20"}]
      metrics: [
        {metric: "errorReportCount" decimal_value: "100"},
        {metric: "distinctUsers" decimal_value: "57"},
      ]
    }, {
      aggregation_period: "DAILY"
      start_time: { year: "2021" month: "7" day: "1" time_zone: "America/Los_Angeles" }
      dimensions: [{dimension: "apiLevel" int64_value: "21"}]
      metrics: [
        {metric: "errorReportCount" decimal_value: "123"},
        {metric: "distinctUsers" decimal_value: "65"},
      ]
    },
    ...
  ]
  next_page_token: "eW91IGhhdmUgdG9vIG11Y2ggZnJlZSB0aW1l"
}

Nota: per le API che supportano i parametri di ricerca per l'impaginazione dei dati (maxResults e nextPageToken, ad esempio), utilizza questi parametri per ridurre i risultati di ogni query in una dimensione gestibile.