# 回复 App Store 评论 > 在 App Store Connect 哪里回复、Apple 对通知与编辑的说明、语气建议、该举报时怎么举报,以及 App Store Connect API 里的 Customer Reviews 与 Customer Review Responses 接口。 - Canonical page: https://obelisk.club/blog/reply-to-app-store-reviews-zh - Author: Peter Zhang - Published: 2026-11-01 - Tags: app-store-connect, reviews, customer-support, app-store-connect-api, ios, indie, 中文 在 App Store Connect 里回复:打开应用,点侧边栏的“评分与评论”(Ratings and Reviews),选平台,找到那条评论,点 Reply。每条评论只显示一条回复,你可以随时编辑或删除;Apple 说客户会收到通知,并可以据此更新自己的评论。如果评论含冒犯内容或违反规则,请用“举报问题”(Report a Concern),不要回复,评论者不会收到通知。你写的所有内容都是公开的,审核指南 5.6.1 要求回复紧扣客户的评论,不含个人信息、垃圾内容或营销。想用代码回复,App Store Connect API 有列出评论、创建/读取/删除回复的接口;请求要用令牌签名,可以用我们的 [App Store Connect JWT 生成器](/tools/app-store-connect-jwt-generator)生成。 这篇讲回复流程和 API。应用内评分弹窗和重置总评分,请看另一篇:[请求评分、回复与重置评分](/blog/ios-ratings-and-reviews)。 ## 在 App Store Connect 里回复 Apple 要求的角色是 Account Holder、Admin 或 Customer Support。 1. 在“App”里选中应用。 2. 点侧边栏的“评分与评论”。只有 Customer Support 角色的用户会直接进入这里。 3. 右上角选择评论所在的平台。 4. 找到评论,点 Reply。 5. 输入回复内容,点 Submit。 要修改,点评论旁边的 Edit Response,改完点 Save。Apple 说明,编辑回复的人不必是当初写回复的人。要删除,进入 Edit Response 点 Delete Response。 Apple 对结果的说明: - 客户会收到通知,并可以据此更新评论。短时间内多次编辑(比如改一个错别字),只会发出一次通知。 - 每条评论在产品页上只显示一条回复;即使客户后来修改了评论,你的回复也仍然可见。 - 无论评论多久以前写的,你都可以回复。 - iOS、macOS、watchOS 和 visionOS 应用可以回复。tvOS 应用用户只能评分,没有评论可回。 - 客户更新评论时,拥有 Admin 或 Customer Support 角色、有权限并且开启了相关通知的用户会收到提醒。Apple 建议在 App Store Connect 里设置邮件提醒。 Apple 的页面没有给出回复的最大长度,所以我们也不写具体数字。Apple 本来也希望回复简短。 ## 写什么 Apple 的建议分两层。审核指南 5.6.1 写道:“treat customers with respect when responding to their comments. Keep your responses targeted to the user's comments and do not include personal information, spam, or marketing in your response.”(回复评论时要尊重客户;回复要针对用户的评论,不要包含个人信息、垃圾内容或营销。) Apple 的评分与评论页面补充了风格和顺序上的建议: - 好的回复简洁,清楚回应客户的反馈。语气尊重、友好,符合品牌风格;尽量个性化,不要在许多评论下贴同一段通用回复。 - 如果无法逐条回复,先看星级最低的评论,以及提到当前版本技术问题的评论。认可对方的反馈,并说明你正在处理。 - 更新修复了大家抱怨的问题时,在更新说明里写出来,并考虑回复相关的旧评论。Apple 认为这是重新赢回不满用户的有效办法。 - 大版本发布后,及时回复新评论和被更新过的评论,趁用户最愿意交流的时候。 - 评论者提到下载错误或账单问题时,请他们联系 Apple 支持。如果 Apple 判断问题与 App Store 或其账户无关,会再联系你。 一条符合这种思路的简短回复: ```text Thanks for the details. The export crash on iPad is fixed in version 2.3.1, which is on the App Store now. If it still happens after updating, write to the support address on our product page and we will look at it with you. ``` (中文应用可以直接写中文,原则相同:说清问题已修复在哪个版本,给出联系方式,不夹带宣传。) ## 该举报时,不要回复 遇到含冒犯内容、垃圾信息或其他违反 Apple 条款的评论,Apple 说要用 App Store Connect 里评论下方的 Report a Concern,而不是回复。在弹出的对话框里从菜单选一个问题类型,写明情况,点 Submit。写评论的客户不会收到你举报的通知。iOS 平台页面上的评论摘要也有同样的入口,在摘要旁边的省略号菜单里。 ## 用 App Store Connect API Apple 把这些接口放在 Customer Reviews 与 Customer Review Responses 下,基础地址是 `https://api.appstoreconnect.apple.com/`。 | 作用 | 请求 | |---|---| | 列出应用的评论 | `GET /v1/apps/{id}/customerReviews` | | 列出某个应用版本的评论 | `GET /v1/appStoreVersions/{id}/customerReviews` | | 读取一条评论 | `GET /v1/customerReviews/{id}` | | 读取评论的回复 | `GET /v1/customerReviews/{id}/response` | | 创建回复,或替换你已有的回复 | `POST /v1/customerReviewResponses` | | 删除回复 | `DELETE /v1/customerReviewResponses/{id}` | 列出应用评论时,Apple 记录的查询参数有:`filter[rating]`(1 到 5,例如 `1,2`)、`filter[territory]`、`exists[publishedResponse]`(`false` 返回没有已发布回复的评论)、`sort`(`rating`、`-rating`、`createdDate` 或 `-createdDate`)、`limit`(最大 200)、`include` 和 `fields[...]`。Apple 提醒,评论可能已有回复但尚未发布,所以 `exists[publishedResponse]=false` 不等于“从没回复过”。评论有 `rating`、`title`、`body`、`reviewerNickname`、`createdDate` 和 `territory`;回复有 `responseBody`、`lastModifiedDate`,以及取值为 `PUBLISHED` 或 `PENDING_PUBLISH` 的 `state`。 每个请求都要在 `Authorization` 头里带上签名令牌(Bearer)。Apple 的令牌页面说明:头部 `alg` 为 `ES256`,`kid` 是你的密钥 ID,`typ` 是 `JWT`,用 App Store Connect 下载的私钥签名。[JWT 生成器](/tools/app-store-connect-jwt-generator)可以在浏览器里生成。 创建请求在关系里放评论 ID,在 `responseBody` 里放你的文字: ```json { "data": { "type": "customerReviewResponses", "attributes": { "responseBody": "Thanks for the details. The export crash is fixed in 2.3.1." }, "relationships": { "review": { "data": { "type": "customerReviews", "id": "REVIEW_ID" } } } } } ``` Apple 说明,这个 POST 会创建回复并发布;如果已有回复就覆盖它,所以同一个调用也能用来编辑。回复和删除不会在 App Store 上立刻生效,需要留出一点时间。在 Swift 里可以这样构造请求体和请求: ```swift import Foundation struct ReviewReplyBody: Encodable { struct Attributes: Encodable { let responseBody: String } struct Review: Encodable { struct Ref: Encodable { let type = "customerReviews" let id: String } let data: Ref } struct Relationships: Encodable { let review: Review } struct Payload: Encodable { let type = "customerReviewResponses" let attributes: Attributes let relationships: Relationships } let data: Payload init(reviewID: String, text: String) { data = Payload( attributes: .init(responseBody: text), relationships: .init(review: .init(data: .init(id: reviewID))) ) } } func replyRequest(reviewID: String, text: String, token: String) throws -> URLRequest { var request = URLRequest(url: URL(string: "https://api.appstoreconnect.apple.com/v1/customerReviewResponses")!) request.httpMethod = "POST" request.setValue("Bearer \(token)", forHTTPHeaderField: "Authorization") request.setValue("application/json", forHTTPHeaderField: "Content-Type") request.httpBody = try JSONEncoder().encode(ReviewReplyBody(reviewID: reviewID, text: text)) return request } ``` 我们用 Swift 6.4 编译了这段代码,并打印了编码后的请求体,内容与上面的 JSON 一致(键的顺序不同)。我们没有把请求发给 Apple,因为那需要真实的密钥和真实的评论。在每条评论下贴同样的回答,违背 Apple 要求个性化的建议;请用 API 找出需要回复的评论,而不是一股脑全部回复。 ## 来源 均于 2026 年 11 月 1 日查阅。 - [Respond to reviews](https://developer.apple.com/help/app-store-connect/monitor-ratings-and-reviews/respond-to-reviews),App Store Connect 帮助 - [Ratings and reviews overview](https://developer.apple.com/help/app-store-connect/monitor-ratings-and-reviews/ratings-and-reviews-overview),App Store Connect 帮助 - [View ratings and reviews](https://developer.apple.com/help/app-store-connect/monitor-ratings-and-reviews/view-ratings-and-reviews),App Store Connect 帮助(Report a concern) - [Ratings, reviews, and responses](https://developer.apple.com/app-store/ratings-and-reviews/),Apple Developer - [App Review Guidelines](https://developer.apple.com/app-store/review/guidelines/),5.6.1 - [Customer Reviews](https://developer.apple.com/documentation/appstoreconnectapi/customer-reviews) 与 [Customer Review Responses](https://developer.apple.com/documentation/appstoreconnectapi/customer-review-responses),App Store Connect API - [Create or update a response to a customer review](https://developer.apple.com/documentation/appstoreconnectapi/post-v1-customerreviewresponses) 与 [List all customer reviews for an app](https://developer.apple.com/documentation/appstoreconnectapi/get-v1-apps-_id_-customerreviews) - [Generating Tokens for API Requests](https://developer.apple.com/documentation/appstoreconnectapi/generating-tokens-for-api-requests) *Apple 的页面和接口会变化,请以上面各页的最新内容为准。*