Messwertgruppen abfragen

Nachdem Sie alles eingerichtet haben, können Sie Anfragen an die Google Play Developer Reporting API senden, um Metadaten zu Messwertgruppen abzurufen und ihre Messwerte abzufragen.

Die folgenden Codebeispiele zeigen, wie Sie einige einfache Anfragen senden. In den folgenden Beispielen wird gezeigt, wie Sie verschiedene Messwerte für Ihre App abrufen. Es gibt einige verschiedene Abfrageparameter, mit denen Sie Ihre Abfrage eingrenzen können.

Metadaten von Messwertgruppen abrufen

Im folgenden Beispiel werden die Metadaten für die Messwertgruppe „Absturzrate“ für eine fiktive Anwendung, com.example.app, abgerufen.

Einfache Anfrage:

Bei dieser HTTP-GET-Anfrage wird der Parameter „application name“ (Anwendungsname) angegeben und die vollständige Messwertressource zurückgegeben, die Ihrer Anwendung zugeordnet ist.

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

Antwort mit Messwertinformationen:

Die Antwort enthält die folgenden Felder, die sich auf den Messwertsatz beziehen:

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

Abfragefunktion verwenden

In der folgenden HTTP-POST-Anfrage für dieselbe Ressource wird der query-Endpunkt verwendet, um bestimmte Daten aus dem Messwertset abzurufen.

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

Übergeben Sie im Anfragetext Abfrageoptionen, um Messwerte anhand bestimmter Kriterien abzurufen.

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

Hier einige Beispiele für die Sammlungsebene:

Felder
timelineSpec

object (TimelineSpec)

Spezifikation der Parameter für die Zeitachsenaggregation. Eine Liste der unterstützten Aggregationszeiträume finden Sie in der Dokumentation der einzelnen Messwertgruppen.

dimensions[]

string

Dimensionen, nach denen die Messwerte aufgeschlüsselt werden sollen. Eine Liste der unterstützten Dimensionen finden Sie in der Dokumentation der einzelnen Messwertgruppen.

metrics[]

string

Messwerte, die aggregiert werden sollen.

pageSize

integer

Maximale Größe der zurückgegebenen Daten.

Falls nicht angegeben, werden maximal 1.000 Zeilen zurückgegeben. Der Höchstwert beträgt 100.000. Werte über 100.000 werden implizit auf 100.000 umgewandelt.

Antworten verarbeiten

Nachdem ein Server eine gültige Anfrage mit gültigen Feldern verarbeitet hat, sendet er einen HTTP-Statuscode 200 OK zusammen mit den angeforderten Daten zurück. Wenn der fields-Abfrageparameter einen Fehler enthält oder ungültig ist, gibt der Server den HTTP-Statuscode 400 Bad Request zusammen mit einer Fehlermeldung zurück, die den Nutzer darüber informiert, was bei seiner Feldauswahl falsch war (Beispiel: "Invalid field timeline_spec").

Hier ein Beispiel für eine Antwort, die im einführenden Abschnitt oben dargestellt wurde.

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

Die Antwort sieht so aus:

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

Hinweis:Bei APIs, die Abfrageparameter für die Datenpaginierung (wie beispielsweise maxResults und nextPageToken) unterstützen, kannst du mit diesen Parametern die Ergebnisse der einzelnen Abfragen auf eine überschaubare Größe reduzieren.