L'API Google Play Developer Response to Reviews vous permet d'afficher les commentaires des utilisateurs pour votre application et d'y répondre. Vous pouvez l'utiliser pour interagir directement avec les utilisateurs dans votre boîte à outils existante de service client, comme un système de CRM.
L'API Response to Reviews ne vous permet d'accéder aux commentaires que des versions production de votre application. Si vous souhaitez afficher des commentaires sur les versions alpha ou bêta de votre application, utilisez la Google Play Console. Notez également que l'API n'affiche que les avis qui incluent des commentaires. Si un utilisateur évalue votre application, mais ne laisse aucun commentaire, ses commentaires ne sont pas accessibles depuis l'API.
Accès
Pour utiliser l'API Response to Reviews, vous devez fournir une autorisation à l'aide d'un client OAuth ou d'un compte de service. Si vous utilisez un compte de service, activez l'autorisation "Répondre aux avis" dans ce compte. Pour en savoir plus sur l'établissement d'un accès autorisé à cette API, consultez la page Configurer des clients d'accès aux API.
Récupération des avis
Lorsque vous utilisez l'API Response to Reviews, vous pouvez récupérer la liste de tous les avis récents sur votre application ou un avis individuel.
Récupérer un ensemble d'avis
Utilisez la méthode GET
pour demander la liste des avis pour votre application. Dans votre requête, incluez le nom de package complet de votre application, tel que com.google.android.apps.maps
, ainsi que le jeton d'autorisation que vous avez reçu lors de l'accès à l'API.
GET https://www.googleapis.com/androidpublisher/v3/applications/your_package_name/reviews? access_token=your_auth_token
La réponse est une chaîne JSON contenant une liste d'avis sur votre application. Le premier résultat de la liste indique le dernier commentaire utilisateur créé ou modifié.
Dans l'exemple suivant, le premier avis présente les métadonnées qui apparaissent dans tous les résultats, et le second les métadonnées qui n'apparaissent que dans certains résultats:
{ "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" } }
Chaque résultat inclut les métadonnées suivantes:
- ID de l'avis
- Identifiant unique de cet avis. Il indique également l'avis d'un utilisateur spécifique, car les utilisateurs ne peuvent rédiger qu'un seul avis par application.
- auteur
Nom de l'utilisateur qui rédige l'avis.
Remarque:Dans de rares cas,
authorName
peut ne pas apparaître dans un résultat donné.- Commentaires
Liste incluant les commentaires de l'utilisateur sur l'application. Si cet avis inclut un titre, le titre et le corps du texte de l'avis apparaissent tous deux dans l'élément
text
, et un onglet sépare le titre et le corps du texte. L'élémentlastModified
indique la date et l'heure de la dernière évaluation de l'utilisateur.Si vous avez déjà répondu à cet avis, vos commentaires sont le deuxième élément de la liste.
- étoile
Évaluation de votre application par les utilisateurs sur une échelle allant de 1 à 5. Un score de 5 indique que l'utilisateur est très satisfait de votre application.
Par défaut, 10 avis apparaissent sur chaque page. Vous pouvez afficher jusqu'à 100 avis par page en définissant le paramètre maxResults
dans votre requête.
Si la liste des avis continue sur une autre page, l'API inclut un élément tokenPagination
dans la réponse. Lorsque vous demandez la page d'avis suivante, incluez l'élément token
. Définissez la valeur de cet élément sur la valeur nextPageToken
, qui apparaît dans la réponse d'origine.
Remarque : Vous ne pouvez récupérer que les avis que les utilisateurs ont créés ou modifiés au cours de la dernière semaine. Si vous souhaitez récupérer tous les avis sur votre application depuis le début, vous pouvez les télécharger au format CSV à l'aide de la Google Play Console.
L'exemple suivant de requête GET
affiche la page d'avis suivante. Cette requête suppose que la page d'avis actuelle (comme indiqué dans la réponse à la requête précédente) contient la valeur nextPageToken
"12334566"
. La demande indique également que la page suivante doit afficher jusqu'à 50 avis.
GET https://www.googleapis.com/androidpublisher/v3/applications/your_package_name/reviews? access_token=your_auth_token&token=12334566&maxResults=50
Récupérer un avis individuel
Vous pouvez également utiliser la méthode GET
pour récupérer un avis individuel. Vous devez fournir la même URL que celle utilisée pour récupérer un ensemble d'avis, à l'exception du champ review_id
correspondant à l'avis que vous souhaitez afficher:
GET https://www.googleapis.com/androidpublisher/v3/applications/your_package_name/reviews/ review_id?access_token=your_auth_token
La réponse correspondante est une chaîne JSON qui inclut du contenu et des métadonnées pour un seul avis:
{ "reviewId": "87654321", "authorName": "Joan Smith", "comments": [ { "userComment": { "text": "This app is awesome!", "lastModified": { "seconds": "1452114723", "nanos": 913000000 }, "starRating": 5 } } ] }
Traduire le texte des avis
Le texte des avis peut être traduit automatiquement avant d'être renvoyé par l'API reviews. Lorsque vous récupérez une liste d'avis ou un seul avis, ajoutez un paramètre translationLanguage
à la requête. Exemple :
GET https://www.googleapis.com/androidpublisher/v3/applications/your_package_name/reviews? access_token=your_auth_token&translationLanguage=en
Le paramètre translationLanguage
peut spécifier une langue avec ou sans pays. Par exemple, "en" et "en_GB" sont tous les deux valides.
Si vous spécifiez une langue de traduction différente de celle du texte d'origine, le système renvoie le texte traduit dans la propriété text
et le texte original dans la propriété originalText
. Exemple :
{ "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!" } } ] }
Réponse aux avis
Vous pouvez également interagir avec les utilisateurs de votre application en répondant à leurs avis. Une fois que vous avez envoyé votre réponse, l'utilisateur reçoit une notification indiquant que vous avez répondu à ses commentaires.
Nous déconseillons l'utilisation de réponses automatiques aux avis dans le but de les mettre à jour manuellement par la suite. Bien que vous puissiez répondre aux avis autant de fois que vous le souhaitez, l'utilisateur ne reçoit une notification qu'après la première fois que vous avez répondu à un avis créé ou modifié. Le tableau suivant montre comment l'utilisateur est averti lorsque vous interagissez avec lui:
Interaction utilisateur-développeur | Notification envoyée à l'utilisateur ? |
---|---|
L'utilisateur écrit l'avis ; le développeur envoie une réponse | Yes |
Réponse du développeur à l'avis d'origine | Non |
Examen des mises à jour des utilisateurs ; réponse des développeurs | Yes |
Remarque : Comme vos réponses s'affichent publiquement sur la page de la plate-forme de téléchargement, il est important de ne pas inclure d'informations sensibles sur les utilisateurs lorsque vous rédigez ces réponses.
Pour envoyer une réponse à un avis d'utilisateur, utilisez la méthode POST
. Dans votre requête, indiquez que Content-Type
est application/json
et incluez un document JSON contenant votre réponse:
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!" }
Remarque : Le champ replyText
que vous incluez dans votre requête POST
peut contenir 350 caractères au maximum. Votre réponse doit contenir du texte brut. Les balises HTML correctement formatées sont supprimées et ne sont pas incluses dans le nombre de caractères de votre réponse. Toutefois, le contenu que vous placez à l'intérieur des balises HTML correctement formatées est conservé.
Si votre requête aboutit, vous recevez la chaîne JSON suivante en réponse.
L'élément lastEdited
indique l'heure à laquelle l'API enregistre votre réponse à l'avis de l'utilisateur.
{ "result": { "replyText": "Thanks for your feedback!", "lastEdited": { "seconds": "1453978803", "nanos": 796000000 } } }
Si votre requête POST
n'est pas valide, l'un des codes d'erreur suivants s'affiche:
400 Bad Reply Request
- Le champ
replyText
est trop long ou manquant. 404 Not Found
- L'avis avec les
review_id
donnés n'existe pas.
Quotas
Par courtoisie envers les autres développeurs, l'API Response to Reviews applique plusieurs quotas. Ces quotas sont appliqués séparément pour chaque application:
Requêtes
GET
(pour la récupération de listes d'avis et d'avis individuels) : 200 par heureDemandes
POST
(pour les réponses aux avis) : 2 000 par jour
Si votre application doit récupérer un nombre d'examens supérieur à ces quotas ou y répondre, envoyez une demande pour augmenter le quota de votre application.