Consultar conjuntos de métricas

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

Os exemplos 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 do seu app. Há alguns parâmetros de consulta diferentes que podem ser usados para restringir a consulta.

Como recuperar metadados do conjunto de métricas

O exemplo a seguir recupera os metadados do conjunto de métricas de taxa de falhas de um aplicativo fictício, com.example.app.

Solicitação simples:

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

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

Resposta de informações da 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 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. Confira a documentação de cada conjunto de métricas para ver uma lista dos períodos de agregação disponíveis.

dimensions[]

string

Dimensões para segmentar as métricas. Confira 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 revertidos para 100.000.

Como processar respostas

Depois que um servidor processa uma solicitação válida com campos válidos, ele envia de volta um código de status HTTP 200 OK, além dos 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").

Confira 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:em APIs compatíveis com parâmetros de consulta para paginação de dados (por exemplo, maxResults e nextPageToken), use esses parâmetros para reduzir os resultados de cada consulta a um tamanho administrável.