回复评价

借助 Google Play Developer Reply to Reviews API,您可以查看用户反馈 并回复此反馈。您可以使用此 API 与 直接在您现有的客户支持工具包中访问用户,例如 CRM 系统。

借助 Reply to Reviews API,您只可访问针对正式版的反馈 版本。如果您想查看关于 请改用 Google Play 管理中心。另请注意 仅显示包含评论的评价。如果用户为您的应用评分,但评分 未提供评论,则无法通过该 API 访问他们的反馈。

获得访问权限

若要使用 Reply to Reviews API,您需要使用 OAuth 客户端或服务账号。如果您使用的是服务账号,请启用 “回复评价”权限。如需详细了解 建立对该 API 的授权访问,请参阅 设置 API 访问客户端

检索评价

使用 Reply to Reviews API 时,您可以检索所有 也可以查看具体评价

检索一组评价

使用 GET 方法请求获取针对您的应用的评价列表。在您的要求中 包含应用的完全限定软件包名称,例如 com.google.android.apps.maps - 以及您在创建 API 时收到的授权令牌 获取该 API 的访问权限。

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

响应是一个 JSON 字符串,其中包含应用评价列表。通过 列表中的第一个结果显示的是最近创建的用户评论 或修改过的文件。

在以下示例中,第一条评价显示了 结果,第二条评价仅显示在某些结果中显示的元数据:

{
  "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"
  }
}

每个结果都包含以下元数据:

reviewId
唯一标识相应评价,它还表示特定用户的 评价,因为对于一款应用,用户只能撰写一条评价。
authorName

撰写评价的用户的名称。

注意:在极少数情况下,authorName 可能 未出现在指定结果中。

comments

一个列表,包含用户对应用的反馈。如果 如果评论包含标题,则该标题和正文的正文均会显示出来 text 元素中使用,制表符用于分隔标题和正文。 lastModified 元素指示用户 提交评价。

如果您已回复此评价,那么您的反馈将显示为 评论列表中的第二个元素。

starRating

用户对您的应用的评分(评分范围为 1 到 5 分)。5 分 表明用户对您的应用非常满意。

默认情况下,每个页面会显示 10 条评价。您最多可以显示 100 条评价 方法是在请求中设置 maxResults 参数。

如果评价列表延续到另一个页面上,该 API 将包含 响应中包含 tokenPagination 元素。在请求访问 请添加 token 元素。将此元素的值设置为 nextPageToken 值,出现在原始回答中。

注意:您只能检索用户创建的评价 或修改过的报告。如果您希望检索 您可以下载 CSV 文件格式的评价

以下 GET 请求示例会显示下一页评价。本次 请求假定当前评论页(如 包含值为 "12334566"nextPageToken。通过 请求还表示下一页最多应显示 50 条评价。

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

检索单个评价

您还可以使用 GET 方法来检索单个评价。您提供 与用于 检索一组评价,只是 还包含与要查看的评价对应的 review_id

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

相应的响应是一个包含内容和元数据的 JSON 字符串 :

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

翻译评价文字

评价文字可在从 审核 API。在检索评论列表或单个评论时,请将 向查询添加 translationLanguage 参数。例如:

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

translationLanguage 参数可以指定包含或不包含的语言 国家/地区。例如,“en”和“en_GB”都有效。

如果您指定的翻译语言与原始语言不同 系统会在 text 属性中返回译文,并在 originalText 属性中的原始文本。示例如下:

    {
      "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!"
          }
        }
      ]
    }

回复评价

您还可以通过回复评价来与应用用户进行互动。更新后 您提交回复后,用户就会收到通知,说明您 已回复他们的反馈

我们不建议使用自动回复评价功能, 手动更新这些回复此外,虽然您可以 评价的次数,该用户只会收到通知 在您首次回复创建或修改的评价时发送提醒。以下 表格说明了用户在您与其互动期间如何收到通知:

用户-开发者互动 向用户发送通知?
用户撰写评价;开发者提交回复
开发者更新对原始评价的回复
用户更新评价;开发者动态回复

注意:由于您对评价的回复公开显示在 切勿在应用商店页面中提供敏感信息 关于用户的信息。

如需针对用户评价提交回复,请使用 POST 方法。在您的要求中 表示 Content-Typeapplication/json,并且包含 JSON 包含您的回复的文档:

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!"
}

注意:添加到replyText POST 请求最多可以包含 350 个字符。您应该使用 回复中的纯文本;格式正确的 HTML 标记已被移除, 包含在回复的字符数中。你放置的内容 但格式正确的 HTML 标记内的内容会保留下来。

如果请求成功,您会收到以下 JSON 字符串作为响应。 lastEdited 元素指示 API 记录您的回复的时间 。

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

但是,如果您的 POST 请求无效,响应会显示以下其中一种消息: 以下错误代码:

400 Bad Reply Request
replyText 太长或缺失。
404 Not Found
具有指定review_id的评价不存在。

配额

为了方便其他开发者,Reply to Reviews API 会实施多项 配额。这些配额是针对各个应用单独实施的:

  • GET 请求(用于检索评价列表和单个评价)- 200 每小时

  • POST 请求(用于回复评价)- 每天 2000 个

如果您的应用需要检索或回复的评价数量高于 配额允许、发送 请求 增加应用的配额