Cómo consultar conjuntos de métricas

Después de configurar todo, puedes enviar solicitudes a la API de Google Play Developer Reporting para recuperar metadatos sobre los conjuntos de métricas y consultar sus métricas.

En las siguientes muestras de código, se explica cómo enviar algunas solicitudes simples. Por ejemplo, los métodos que se muestran a continuación te indican cómo recuperar varias métricas de tu app. Hay algunos parámetros de consulta diferentes que se pueden usar para acotar tu consulta.

Cómo recuperar metadatos de conjuntos de métricas

En el siguiente ejemplo, se recuperan los metadatos del conjunto de métricas de la tasa de fallas para una aplicación ficticia, com.example.app.

Solicitud simple:

Esta solicitud HTTP GET especifica el parámetro del nombre de la aplicación y devuelve el recurso de métricas completo asociado a tu aplicación.

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

Respuesta de información de la métrica:

La respuesta incluye los siguientes campos relacionados con el conjunto de métricas:

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

Cómo usar la función de preguntas

La siguiente solicitud HTTP POSTpara este mismo recurso usa el extremo query para recuperar datos específicos del conjunto de métricas.

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

En el cuerpo de la solicitud, pasa opciones de consulta para recuperar métricas basadas en criterios 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"
}

A continuación, se presentan algunos ejemplos a nivel de la colección:

Campos
timelineSpec

object (TimelineSpec)

Es la especificación de los parámetros de agregación de la línea de tiempo. Consulta la documentación de cada conjunto de métricas para obtener una lista de los períodos de agregación admitidos.

dimensions[]

string

Son las dimensiones según las cuales se segmentan las métricas. Consulta la documentación de cada conjunto de métricas para obtener una lista de las dimensiones admitidas.

metrics[]

string

Son las métricas que se agregarán.

pageSize

integer

Es el tamaño máximo de los datos devueltos.

Si no se especifica, se devolverán, como máximo, 1,000 filas. El valor máximo es 100,000,y los valores superiores se convertirán a 100,000.

Cómo controlar las respuestas

Después de que un servidor procesa una solicitud válida que incluye campos válidos, devuelve un código de estado HTTP 200 OK, junto con los datos solicitados. Si el parámetro de búsqueda de fields tiene un error o no es válido, el servidor muestra un código de estado HTTP 400 Bad Request, junto con un mensaje de error en el que se comunica al usuario qué fue lo que falló con su selección de campos (por ejemplo, "Invalid field timeline_spec").

A continuación, se muestra el ejemplo de respuesta que se incluye en la sección de introducción anterior.

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

La respuesta es similar a la que se muestra a continuación:

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: En cuanto a las APIs que admiten parámetros de búsqueda para la paginación de datos (maxResults y nextPageToken, por ejemplo), usa esos parámetros para reducir los resultados de cada búsqueda a un tamaño administrable.