Auf Rezensionen antworten

Mit der Google Play Developer Reply to Reviews API kannst du Nutzerfeedback zu deiner App abrufen und darauf antworten. Sie können diese API verwenden, um mit Nutzern direkt über Ihr vorhandenes Kundensupport-Toolkit zu interagieren, z. B. ein CRM-System.

Über die Reply to Reviews API kannst du nur auf Feedback zu Produktionsversionen deiner App zugreifen. Wenn du Feedback zu Alpha- oder Betaversionen deiner App sehen möchtest, verwende stattdessen die Google Play Console. Beachten Sie außerdem, dass die API nur Rezensionen mit Kommentaren anzeigt. Wenn ein Nutzer deine App bewertet, aber keinen Kommentar abgibt, kann über die API nicht auf sein Feedback zugegriffen werden.

Zugriff erhalten

Um mit der Reply to Reviews API zu arbeiten, stellst du die Autorisierung entweder über einen OAuth-Client oder ein Dienstkonto vor. Wenn Sie ein Dienstkonto verwenden, aktivieren Sie die Berechtigung „Auf Rezensionen antworten“ in diesem Konto. Weitere Informationen zum Einrichten des autorisierten Zugriffs auf diese API finden Sie unter API-Zugriffsclients einrichten.

Bewertungen abrufen

Wenn Sie die Reply to Reviews API verwenden, können Sie eine Liste aller aktuellen Rezensionen für Ihre App oder eine einzelne Rezension abrufen.

Mehrere Rezensionen abrufen

Verwenden Sie die Methode GET, um eine Liste von Rezensionen für Ihre App anzufordern. Geben Sie dabei den voll qualifizierten Paketnamen für die App (z. B. com.google.android.apps.maps) und das Autorisierungstoken an, das Sie beim Zugriff auf die API erhalten haben.

GET https://www.googleapis.com/androidpublisher/v3/applications/your_package_name/reviews?
access_token=your_auth_token

Die Antwort ist ein JSON-String, der eine Liste von Rezensionen für Ihre Anwendung enthält. Das erste Ergebnis in der Liste zeigt den Nutzerkommentar, der zuletzt erstellt oder geändert wurde.

Im folgenden Beispiel werden in der ersten Überprüfung Metadaten angezeigt, die in allen Ergebnissen enthalten sind, während die zweite Überprüfung Metadaten enthält, die nur in einigen Ergebnissen vorkommen:

{
  "reviews": [
    {
      "reviewId": "12345678",
      "authorName": "Jane Bloggs",
      "comments": [
        {
          "userComment": {
            "text": "This is the best app ever!",
            "lastModified": {
              "seconds": "1443676826",
              "nanos": 713000000
            },
            "starRating": 5
          }
        }
      ]
    },
    {
      "reviewId": "11223344",
      "authorName": "John Doe",
      "comments": [
        {
          "userComment": {
            "text": "I love using this app!",
            "lastModified": {
              "seconds": "141582134",
              "nanos": 213000000
            },
            "starRating": 5,
            "reviewerLanguage": "en",
            "device": "trltecan",
            "androidOsVersion": 21,
            "appVersionCode": 12345,
            "appVersionName": "1.2.3",
            "thumbsUpCount": 10,
            "thumbsDownCount": 3,
            "deviceMetadata": {
              "productName": "E5333 (Xperia™ C4 Dual)",
              "manufacturer": "Sony",
              "deviceClass": "phone",
              "screenWidthPx": 1080,
              "screenHeightPx": 1920,
              "nativePlatform": "armeabi-v7a,armeabi,arm64-v8a",
              "screenDensityDpi": 480,
              "glEsVersion": 196608,
              "cpuModel": "MT6752",
              "cpuMake": "Mediatek",
              "ramMb": 2048
            }
          }
        },
        {
          "developerComment": {
            "text": "That's great to hear!",
            "lastModified": {
              "seconds": "1423101467",
              "nanos": 813000000
            }
          }
        }
      ]
    }
  ],
  "tokenPagination": {
    "nextPageToken": "12334566"
  }
}

Jedes Ergebnis enthält die folgenden Metadaten:

reviewId
Eindeutige Identifizierung für diese Rezension. Außerdem verweist es auf die Rezension eines bestimmten Nutzers, da Nutzer nur eine Rezension für eine bestimmte App schreiben können.
authorName

Der Name des Nutzers, der die Rezension verfasst hat.

Hinweis: In seltenen Fällen kann es vorkommen, dass authorName in einem bestimmten Ergebnis nicht angezeigt wird.

comments

Eine Liste mit dem Nutzerfeedback zur App. Wenn diese Rezension einen Titel enthält, werden dieser Titel und der Text der Rezension im text-Element angezeigt. Titel und Text werden durch ein Tabulatorzeichen getrennt. Das Element lastModified gibt den Zeitpunkt an, zu dem der Nutzer zuletzt seine Rezension eingereicht hat.

Wenn Sie bereits auf diese Rezension geantwortet haben, wird Ihr Feedback als zweites Element in der Liste der Kommentare angezeigt.

starRating

Die Bewertung deiner App durch den Nutzer auf einer Skala von 1 bis 5. Eine Punktzahl von 5 bedeutet, dass der Nutzer mit Ihrer App sehr zufrieden ist.

Standardmäßig werden auf jeder Seite zehn Rezensionen angezeigt. Du kannst bis zu 100 Rezensionen pro Seite anzeigen lassen, indem du den Parameter maxResults in deiner Anfrage festlegst.

Wenn sich die Liste der Rezensionen auf einer anderen Seite fortsetzt, nimmt die API ein tokenPagination-Element in die Antwort auf. Fügen Sie das Element token ein, wenn Sie die nächste Seite mit Überprüfungen anfordern. Legen Sie den Wert dieses Elements auf den Wert nextPageToken fest, der in der ursprünglichen Antwort angezeigt wird.

Hinweis:Sie können nur Rezensionen abrufen, die Nutzer in der letzten Woche erstellt oder geändert haben. Wenn Sie alle Rezensionen für Ihre App seit Beginn der Zeit abrufen möchten, können Sie sie in der Google Play Console als CSV-Datei herunterladen.

Im folgenden Beispiel für eine GET-Anfrage wird die nächste Seite mit Rezensionen angezeigt. Bei dieser Anfrage wird davon ausgegangen, dass die aktuelle Seite mit Rezensionen (wie in der Antwort auf die vorherige Anfrage gezeigt) den nextPageToken-Wert "12334566" enthält. In der Anfrage wird außerdem angegeben, dass die nächste Seite bis zu 50 Rezensionen enthalten soll.

GET https://www.googleapis.com/androidpublisher/v3/applications/your_package_name/reviews?
access_token=your_auth_token&token=12334566&maxResults=50

Einzelne Rezension abrufen

Sie können auch die Methode GET verwenden, um eine einzelne Rezension abzurufen. Sie geben dabei dieselbe URL an, die Sie zum Abrufen einer Reihe von Rezensionen verwendet haben, mit der Ausnahme, dass Sie auch die review_id für die gewünschte Rezension angeben:

GET https://www.googleapis.com/androidpublisher/v3/applications/your_package_name/reviews/
review_id?access_token=your_auth_token

Die entsprechende Antwort ist ein JSON-String, der Inhalte und Metadaten für eine einzelne Rezension enthält:

{
  "reviewId": "87654321",
  "authorName": "Joan Smith",
  "comments": [
    {
      "userComment": {
        "text": "This app is awesome!",
        "lastModified": {
          "seconds": "1452114723",
          "nanos": 913000000
        },
        "starRating": 5
      }
    }
  ]
}

Rezensionstext übersetzen

Rezensionstext kann automatisch übersetzt werden, bevor er von der Reviews API zurückgegeben wird. Wenn Sie eine Liste von Rezensionen oder eine einzelne Rezension abrufen, fügen Sie der Abfrage einen translationLanguage-Parameter hinzu. Beispiel:

GET https://www.googleapis.com/androidpublisher/v3/applications/your_package_name/reviews?
access_token=your_auth_token&translationLanguage=en

Mit dem Parameter translationLanguage kann eine Sprache mit oder ohne Land angegeben werden. Zum Beispiel sind sowohl "en" als auch "en_GB" gültig.

Wenn Sie eine Übersetzungssprache angeben, die sich vom Originaltext unterscheidet, gibt das System den übersetzten Text im Attribut text und den Originaltext im Attribut originalText zurück. Beispiel:

    {
      "reviewId": "12345678",
      "authorName": "Jane Bloggs",
      "comments": [
        {
          "userComment": {
            "text": "This is the best app ever!",
            "lastModified": {
              "seconds": "1443676826",
              "nanos": 713000000
            },
            "starRating": 5,
            "originalText": "Dies ist die beste App überhaupt!"
          }
        }
      ]
    }

Auf Rezensionen antworten

Sie können auch mit Nutzern Ihrer App interagieren, indem Sie auf deren Rezensionen antworten. Nachdem Sie Ihre Antwort gesendet haben, erhält der Nutzer eine Benachrichtigung, in der er darüber informiert wird, dass Sie auf sein Feedback geantwortet haben.

Wir raten davon ab, automatische Antworten auf Rezensionen zu verwenden, um diese zu einem späteren Zeitpunkt manuell zu aktualisieren. Nutzer können zwar beliebig oft auf eine Rezension antworten, erhalten aber erst nach der ersten Antwort auf eine erstellte oder geänderte Rezension eine Benachrichtigung. In der folgenden Tabelle sehen Sie, wie der Nutzer während Ihrer Interaktionen benachrichtigt wird:

Interaktion zwischen Nutzer und Entwickler Benachrichtigung an Nutzer gesendet?
Nutzer schreibt Rezension, Entwickler sendet Antwort Ja
Entwickler-Updates – Antwort auf ursprüngliche Rezension No
Rezension zu Nutzerupdates; Antwort zu Entwicklerupdates Ja

Hinweis:Da Ihre Antworten auf Rezensionen öffentlich auf der Store-Seite der App erscheinen, ist es wichtig, dass Sie keine vertraulichen Nutzerinformationen angeben, wenn Sie diese Antworten schreiben.

Verwende die POST-Methode, um eine Antwort auf eine Nutzerrezension zu senden. Geben Sie in der Anfrage an, dass Content-Type auf application/json gesetzt ist, und fügen Sie ein JSON-Dokument hinzu, das Ihre Antwort enthält:

POST https://www.googleapis.com/androidpublisher/v3/applications/your_package_name/reviews/
review_id:reply?access_token=your_access_token
Content-Type: application/json

{
  "replyText": "Thanks for your feedback!"
}

Hinweis: Die replyText, die Sie in Ihrer POST-Anfrage angeben, darf maximal 350 Zeichen enthalten. Verwenden Sie in Ihrer Antwort reinen Text. Formulierte HTML-Tags werden entfernt und nicht in die Zeichenanzahl Ihrer Antwort einbezogen. Der Inhalt, den Sie in wohlgeformte HTML-Tags einfügen, bleibt jedoch erhalten.

Wenn Ihre Anfrage erfolgreich ist, erhalten Sie den folgenden JSON-String als Antwort. Das lastEdited-Element gibt den Zeitpunkt an, zu dem die API Ihre Antwort auf die Rezension des Nutzers aufzeichnet.

{
  "result": {
    "replyText": "Thanks for your feedback!",
    "lastEdited": {
      "seconds": "1453978803",
      "nanos": 796000000
    }
  }
}

Wenn die POST-Anfrage ungültig ist, wird in der Antwort stattdessen einer der folgenden Fehlercodes angezeigt:

400 Bad Reply Request
Die replyText ist zu lang oder fehlt.
404 Not Found
Die Rezension mit dem angegebenen review_id ist nicht vorhanden.

Kontingente

Aus Kulanz gegenüber anderen Entwicklern werden für die Reply to Reviews API verschiedene Kontingente gelten. Diese Kontingente werden separat pro Anwendung erzwungen:

  • GET-Anfragen (zum Abrufen von Rezensionslisten und einzelnen Rezensionen) – 200 pro Stunde

  • POST Anfragen (zum Beantworten von Rezensionen) – 2.000 pro Tag

Wenn Ihre Anwendung mehr Rezensionen abrufen oder beantworten muss, als das Kontingent zulässt, senden Sie eine Anfrage, um das Kontingent der Anwendung zu erhöhen.