Consultar conjuntos de métricas

Depois de configurar tudo, você pode enviar solicitações para a API Google Play Developer Reporting para recuperar metadados sobre conjuntos de métricas e consultar as métricas deles.

As amostras de código a seguir demonstram como enviar algumas solicitações simples. Por exemplo, os métodos abaixo mostram como recuperar várias métricas para seu app. Existem alguns parâmetros de consulta diferentes que podem ser usados para restringir sua consulta.

Recuperar metadados do conjunto de métricas

O exemplo a seguir recupera os metadados da métrica de taxa de falhas definida para um aplicativo fictício, com.example.app.

Solicitação simples:

Essa solicitação GET HTTP especifica o parâmetro de nome do aplicativo e retorna o recurso de métrica completa associado ao aplicativo.

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

Resposta das informações de métrica:

A resposta inclui os seguintes campos relacionados ao conjunto de métricas:

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

Como usar o recurso de consulta

A solicitação HTTP POST a seguir para esse mesmo recurso usa o endpoint query para recuperar dados específicos do conjunto de métricas.

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

No corpo da solicitação, transmita as opções de consulta para recuperar métricas com base em critérios específicos.

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

Veja alguns exemplos do nível de coleção:

Campos
timelineSpec

object (TimelineSpec)

Especificação dos parâmetros de agregação da linha do tempo. Consulte a documentação de cada métrica definida para ver uma lista dos períodos de agregação compatíveis.

dimensions[]

string

Dimensões para dividir as métricas. Consulte a documentação de cada conjunto de métricas para ver uma lista das dimensões compatíveis.

metrics[]

string

Métricas a serem agregadas.

pageSize

integer

Tamanho máximo dos dados retornados.

Se não for especificado, no máximo 1.000 linhas serão retornadas. O valor máximo é 100.000. Valores maiores serão convertidos para 100.000.

Como processar respostas

Depois que o servidor processar uma solicitação válida que inclua campos válidos, ele retornará um código de status HTTP 200 OK junto com os dados solicitados. Se o parâmetro de consulta fields tiver um erro ou for inválido, o servidor retornará um código de status HTTP 400 Bad Request com uma mensagem informando ao usuário o que havia de errado com a seleção de campos (por exemplo, "Invalid field timeline_spec").

Veja o exemplo de resposta mostrado na seção introdutória acima.

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

A resposta será assim:

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

Observação: para APIs compatíveis com parâmetros de consulta para paginação de dados (maxResults e nextPageToken, por exemplo), use esses parâmetros para reduzir os resultados de cada consulta a um tamanho gerenciável.