Messwertgruppen abfragen

Nachdem du alles eingerichtet hast, kannst du 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. Die folgenden Methoden zeigen beispielsweise, wie Sie verschiedene Messwerte für Ihre App abrufen können. Es gibt verschiedene Suchparameter, mit denen Sie Ihre Abfrage eingrenzen können.

Metadaten des Messwertsatzes abrufen

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

Einfache Anfrage:

Bei dieser HTTP-GET-Anfrage wird der Parameter für den Anwendungsnamen angegeben und die vollständige Messwertressource zurückgegeben, die mit Ihrer Anwendung verknüpft 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 Endpunkt query verwendet, um bestimmte Daten aus dem Messwertsatz abzurufen.

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

Übergeben Sie im Anfragetext Abfrageoptionen, um Messwerte basierend auf bestimmten 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. In der Dokumentation der einzelnen Messwertgruppen finden Sie eine Liste der unterstützten Aggregationszeiträume.

dimensions[]

string

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

metrics[]

string

Zu aggregierende Messwerte.

pageSize

integer

Maximale Größe der zurückgegebenen Daten.

Wenn nicht angegeben, werden maximal 1.000 Zeilen zurückgegeben. Der Höchstwert beträgt 10.000. Werte über 10.000 werden implizit auf 10.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.