Mit der Google Play Developer Reply to Reviews API können Sie Nutzerfeedback zu Ihrer App ansehen und darauf antworten. Mit dieser API können Sie direkt in Ihrem bestehenden Kundensupport-Toolkit, z. B. einem CRM-System, mit Nutzern interagieren.
Mit der Reply to Reviews API können Sie nur auf Feedback zu Produktionsversionen Ihrer App zugreifen. Wenn Sie Feedback zu Alpha- oder Betaversionen Ihrer App sehen möchten, verwenden Sie stattdessen die Google Play Console. Außerdem werden in der API nur Rezensionen mit Kommentaren angezeigt. Wenn ein Nutzer Ihre App bewertet, aber keinen Kommentar hinterlässt, ist sein Feedback nicht über die API verfügbar.
Zugriff erhalten
Wenn Sie die Reply to Reviews API verwenden möchten, müssen Sie die Autorisierung entweder über einen OAuth-Client oder ein Dienstkonto bereitstellen. Wenn Sie ein Dienstkonto verwenden, aktivieren Sie die Berechtigung „Auf Rezensionen antworten“ für dieses Konto. Weitere Informationen zum Einrichten des autorisierten Zugriffs auf diese API finden Sie unter API-Zugriffsclients einrichten.
Rezensionen abrufen
Mit der Reply to Reviews API können Sie eine Liste aller aktuellen Rezensionen für Ihre App oder eine einzelne Rezension abrufen.
Eine Gruppe von Rezensionen abrufen
Verwenden Sie die Methode GET
, um eine Liste der Rezensionen für Ihre App anzufordern. Geben Sie in Ihrer Anfrage den vollständig qualifizierten Paketnamen für Ihre App an, z. B. com.google.android.apps.maps
, sowie das Autorisierungstoken, 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 der Rezensionen für Ihre App enthält. Das erste Ergebnis in der Liste ist der Nutzerkommentar, der zuletzt erstellt oder geändert wurde.
Im folgenden Beispiel enthält die erste Rezension Metadaten, die in allen Ergebnissen angezeigt werden, und die zweite Rezension Metadaten, die nur in einigen Ergebnissen angezeigt werden:
{ "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 Kennung dieser Rezension. Außerdem wird die Rezension eines bestimmten Nutzers angezeigt, da Nutzer nur eine Rezension für eine bestimmte App schreiben können.
- authorName
Der Name des Nutzers, der die Rezension schreibt.
Hinweis:In seltenen Fällen wird
authorName
möglicherweise nicht in einem bestimmten Ergebnis angezeigt.- Kommentare
Eine Liste mit dem Feedback des Nutzers zur App. Wenn diese Rezension einen Titel enthält, werden sowohl der Titel als auch der Rezensionstext im
text
-Element angezeigt. Titel und Rezensionstext werden durch ein Tabulatorzeichen getrennt. DaslastModified
-Element gibt den Zeitpunkt an, zu dem der Nutzer seine Rezension zuletzt 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 Ihrer App durch den Nutzer auf einer Skala von 1 bis 5. Eine 5 bedeutet, dass der Nutzer sehr zufrieden mit Ihrer App ist.
Standardmäßig werden auf jeder Seite 10 Rezensionen angezeigt. Sie können bis zu 100 Rezensionen pro Seite anzeigen lassen, indem Sie den Parameter maxResults
in Ihrer Anfrage festlegen.
Wenn die Liste der Rezensionen auf einer anderen Seite fortgesetzt wird, enthält die API in der Antwort ein tokenPagination
-Element. Wenn Sie die nächste Seite mit Rezensionen anfordern, fügen Sie das Element token
ein. Setzen Sie den Wert dieses Elements auf den nextPageToken
-Wert, der in der ursprünglichen Antwort enthalten ist.
Hinweis:Sie können nur die Rezensionen abrufen, die Nutzer in der letzten Woche erstellt oder geändert haben. Wenn Sie alle Rezensionen für Ihre App seit Beginn abrufen möchten, können Sie die Rezensionen über die Google Play Console als CSV-Datei herunterladen.
Das folgende Beispiel für eine GET
-Anfrage zeigt die nächste Seite mit Rezensionen. Bei dieser Anfrage wird davon ausgegangen, dass die aktuelle Seite mit Rezensionen (wie in der Antwort der vorherigen Anfrage gezeigt) einen nextPageToken
-Wert von "12334566"
enthält. Die Anfrage gibt auch an, dass auf der nächsten Seite bis zu 50 Rezensionen angezeigt werden sollen.
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 dieselbe URL wie beim Abrufen einer Reihe von Rezensionen an, fügen aber auch die review_id
für die Rezension ein, die Sie aufrufen möchten:
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 Inhalt 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 Anfrage 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. Beispiel: Sowohl „en“ als auch „en_GB“ sind gültig.
Wenn Sie eine Übersetzungssprache angeben, die sich vom Originaltext unterscheidet, gibt das System den übersetzten Text in der Eigenschaft text
und den Originaltext in der Eigenschaft 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 den Nutzern Ihrer App interagieren, indem Sie auf ihre Rezensionen antworten. Nachdem Sie Ihre Antwort gesendet haben, erhält der Nutzer eine Benachrichtigung, dass Sie auf sein Feedback reagiert haben.
Wir raten von der Verwendung automatisierter Antworten auf Rezensionen ab, die später manuell aktualisiert werden sollen. Außerdem können Sie zwar beliebig oft auf eine Rezension antworten, der Nutzer erhält jedoch nur nach der ersten Antwort auf eine erstellte oder geänderte Rezension eine Benachrichtigung. In der folgenden Tabelle wird veranschaulicht, wie der Nutzer während Ihrer Interaktionen mit ihm benachrichtigt wird:
Nutzer-Entwickler-Interaktion | Wurde eine Benachrichtigung an den Nutzer gesendet? |
---|---|
Nutzer schreibt Rezension; Entwickler sendet Antwort | Ja |
Entwickler aktualisiert Antwort auf ursprüngliche Rezension | Nein |
Nutzer aktualisiert Rezension; Entwickler aktualisiert Antwort | Ja |
Hinweis:Da Ihre Antworten auf Rezensionen öffentlich auf der App-Store-Seite angezeigt werden, sollten Sie in diesen Antworten keine vertraulichen Informationen über Nutzer angeben.
Verwenden Sie die Methode POST
, um eine Antwort auf eine Nutzerrezension zu senden. Geben Sie in Ihrer Anfrage an, dass Content-Type
application/json
ist, und fügen Sie ein JSON-Dokument mit Ihrer Antwort ein:
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:Der replyText
, den Sie in Ihre POST
-Anfrage aufnehmen, darf maximal 350 Zeichen enthalten. Verwenden Sie in Ihrer Antwort nur Text. Richtig formatierte HTML-Tags werden entfernt und nicht in die Zeichenanzahl für Ihre Antwort einbezogen. Inhalte, die Sie in wohlgeformte HTML-Tags einfügen, bleiben 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 Ihre 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 der angegebenen
review_id
ist nicht vorhanden.
Kontingente
Um allen Entwicklern gerecht zu werden, gelten für die Reply to Reviews API bestimmte Kontingente. Diese Kontingente werden separat pro App durchgesetzt:
GET
-Anfragen (zum Abrufen von Rezensionslisten und einzelnen Rezensionen): 200 pro StundePOST
-Anfragen (zum Antworten auf Rezensionen): 2.000 pro Tag
Wenn Ihre App mehr Rezensionen abrufen oder beantworten muss, als diese Kontingente zulassen, können Sie eine Erhöhung des Kontingents Ihrer App beantragen.