L'API Google Play Developer Reply to Reviews vous permet d'afficher les commentaires des utilisateurs concernant votre application et d'y répondre. Vous pouvez utiliser cette API pour interagir avec les utilisateurs directement depuis votre kit d'outils pour le service client, par exemple un système de CRM.
L'API Reply to Reviews ne vous permet d'accéder qu'aux commentaires relatifs aux versions de production de votre application. Si vous souhaitez obtenir 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, son avis n'est pas accessible depuis l'API.
Obtenir l'accès
Pour utiliser l'API Reply 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 Configurer des clients d'accès à l'API.
Récupérer des avis
Lorsque vous utilisez l'API Reply to Reviews, vous pouvez récupérer la liste de tous les avis récents sur votre application ou afficher un avis individuel.
Récupérer un ensemble d'avis
Utilisez la méthode GET
pour demander la liste des avis sur votre application. Dans votre requête, incluez le nom de package complet de votre application (par exemple, com.google.android.apps.maps
) et le jeton d'autorisation que vous avez reçu lorsque vous avez obtenu 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 qui contient une liste d'avis sur votre application. Le premier résultat de la liste affiche le commentaire utilisateur créé ou modifié le plus récemment.
Dans l'exemple suivant, le premier avis affiche des métadonnées qui apparaissent dans tous les résultats, tandis que le deuxième avis affiche des 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 :
- reviewId
- Identifie de manière unique cet avis. Il indique également l'avis d'un utilisateur spécifique, car les utilisateurs ne peuvent écrire qu'un seul avis pour une application donnée.
- authorName
Nom de l'utilisateur qui rédige l'avis.
Remarque : Dans de rares cas, l'icône
authorName
peut ne pas apparaître dans un résultat donné.- comments
Liste incluant les commentaires de l'utilisateur sur l'application. Si cet avis inclut un titre, ce titre et le corps du texte de l'avis apparaissent tous deux dans l'élément
text
. Un caractère de tabulation sépare le titre et le corps du texte. L'élémentlastModified
indique l'heure à laquelle l'utilisateur a envoyé son avis pour la dernière fois.Si vous avez déjà répondu à cet avis, votre réponse apparaît en deuxième position dans la liste des commentaires.
- starRating
Évaluation de votre application par l'utilisateur sur une échelle de 1 à 5. Un score de 5 indique que l'utilisateur est très satisfait de votre application.
Par défaut, 10 avis s'affichent 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 se poursuit 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 semaine écoulée. Si vous souhaitez récupérer tous les avis sur votre application depuis sa création, vous pouvez télécharger vos avis sous forme de fichier 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 actuelle d'avis (telle qu'indiquée dans la réponse de la requête précédente) contient une valeur nextPageToken
de "12334566"
. La requête 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 fournissez la même URL que celle utilisée pour récupérer un ensemble d'avis, sauf que vous incluez également le review_id
correspondant à l'avis que vous souhaitez consulter :
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 contient le contenu et les métadonnées d'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 d'un 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 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 d'origine 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épondre aux avis
Vous pouvez également interagir avec les utilisateurs de votre application en répondant à leurs avis. Une fois votre réponse envoyée, 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, avec l'intention de les modifier manuellement ultérieurement. De plus, même si vous pouvez répondre à un avis autant de fois que vous le souhaitez, l'utilisateur ne reçoit une notification que la première fois que vous répondez à un avis créé ou modifié. Le tableau suivant illustre la façon dont l'utilisateur est informé lors de vos interactions avec lui :
Interaction entre l'utilisateur et le développeur | Notification envoyée à l'utilisateur ? |
---|---|
L'utilisateur rédige un avis, et le développeur y répond. | Oui |
Le développeur modifie sa réponse à l'avis d'origine | Non |
L'utilisateur modifie son avis, le développeur modifie sa réponse | Oui |
Remarque : Étant donné que vos réponses aux avis sont visibles publiquement sur la page de l'application sur 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 répondre à un avis d'utilisateur, utilisez la méthode POST
. Dans votre requête, indiquez que Content-Type
est défini sur 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 replyText
que vous incluez dans votre requête POST
ne peut pas comporter plus de 350 caractères. Vous devez utiliser du texte brut dans votre réponse. Les balises HTML bien formé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 dans des balises HTML bien formé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 } } }
Toutefois, si votre requête POST
n'est pas valide, la réponse affiche l'un des codes d'erreur suivants :
400 Bad Reply Request
- La valeur
replyText
est trop longue ou manquante. 404 Not Found
- L'avis avec le
review_id
spécifié n'existe pas.
Quotas
Par courtoisie envers les autres développeurs, l'utilisation de l'API Reply to Reviews est soumise à différents quotas. Ces quotas sont appliqués séparément pour chaque application :
Requêtes
GET
(pour récupérer des listes d'avis et des avis individuels) : 200 par heureRequêtes
POST
(pour répondre aux avis) : 2 000 par jour
Si votre application doit récupérer ou répondre à un volume d'avis supérieur à celui autorisé par ces quotas, envoyez une demande pour augmenter le quota de votre application.