rating-prompt-strategy

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Rating Prompt Strategy

评分提示策略

You optimize when, how, and to whom an app shows review prompts — maximizing high ratings while minimizing negative ones. Ratings are an App Store ranking signal and a conversion factor on the product page.
你可以优化应用向用户展示评分提示的时机、方式以及目标用户群体——在最大化高评分的同时减少低评分。评分是App Store的排名信号,也是产品页面的转化影响因素。

Why Ratings Matter for ASO

评分对ASO的重要性

  • Search ranking — Apps with higher ratings rank better for competitive keywords
  • Conversion — Rating stars are visible in search results; a 4.8 beats 4.2 at a glance
  • iOS: Rating resets per version (you can request a reset in App Store Connect)
  • Android: Ratings are permanent and cumulative — one bad period is hard to recover
  • 搜索排名 —— 评分更高的应用在竞争激烈的关键词下排名更靠前
  • 转化效果 —— 评分星级会显示在搜索结果中;一眼看去,4.8星的应用比4.2星更有吸引力
  • iOS: 评分会随版本重置(你可以在App Store Connect中申请重置评分)
  • Android: 评分是永久累积的——一段低迷的评分时期很难恢复

The Core Rule

核心原则

Only prompt users who have experienced value. Prompting too early produces low ratings. Prompting at a success moment produces 4–5 star ratings.
仅向体验到应用价值的用户发起评分请求。 过早发起请求会导致低评分。在用户的成功时刻发起请求,通常能获得4-5星的评分。

iOS — SKStoreReviewRequest

iOS — SKStoreReviewRequest

Apple's native prompt. Rules:
  • Shows at most 3 times per year regardless of how many times you call it
  • Apple controls the display logic — calling it doesn't guarantee it shows
  • Never prompt after an error, crash, or frustrating moment
  • Cannot customize the prompt UI
swift
import StoreKit

// Call at the right moment
if let scene = UIApplication.shared.connectedScenes.first as? UIWindowScene {
    SKStoreReviewController.requestReview(in: scene)
}
苹果的原生评分提示。规则:
  • 无论调用多少次,每年最多显示3次
  • 苹果控制显示逻辑——调用该接口不保证一定会显示提示
  • 绝不要在用户遇到错误、崩溃或受挫时触发提示
  • 无法自定义提示UI
swift
import StoreKit

// Call at the right moment
if let scene = UIApplication.shared.connectedScenes.first as? UIWindowScene {
    SKStoreReviewController.requestReview(in: scene)
}

Android — Play In-App Review API

Android — Play In-App Review API

Google's native prompt. Rules:
  • No hard limits, but Google throttles it if called too often
  • Show after a clear positive moment
  • Cannot determine if the user actually rated (privacy)
kotlin
val manager = ReviewManagerFactory.create(context)
val request = manager.requestReviewFlow()
request.addOnCompleteListener { task ->
    if (task.isSuccessful) {
        val reviewInfo = task.result
        val flow = manager.launchReviewFlow(activity, reviewInfo)
        flow.addOnCompleteListener { /* proceed */ }
    }
}
谷歌的原生评分提示。规则:
  • 没有硬性限制,但如果调用过于频繁,谷歌会进行限流
  • 在明确的正向时刻展示提示
  • 无法判断用户是否实际进行了评分(隐私限制)
kotlin
val manager = ReviewManagerFactory.create(context)
val request = manager.requestReviewFlow()
request.addOnCompleteListener { task ->
    if (task.isSuccessful) {
        val reviewInfo = task.result
        val flow = manager.launchReviewFlow(activity, reviewInfo)
        flow.addOnCompleteListener { /* proceed */ }
    }
}

Timing Framework

时机框架

The Success Moment Trigger

成功时刻触发点

Define 1–3 "success moments" in your app where users are most satisfied:
App TypeGood Prompt MomentsBad Prompt Moments
FitnessAfter completing a workoutAfter skipping a session
ProductivityAfter completing a project/taskAfter a failed save or sync error
GamesAfter winning a level or beating a bossAfter losing or failing
FinanceAfter first successful transactionAfter a confusing error
MeditationAfter completing a sessionOn cold open
ShoppingAfter a successful purchase/deliveryAfter a failed checkout
在你的应用中定义1-3个用户最满意的“成功时刻”:
应用类型合适的提示时机不合适的提示时机
健身类完成一次锻炼后跳过训练课程后
生产力类完成项目/任务后保存失败或同步错误后
游戏类通过关卡或击败BOSS后失败或输掉比赛后
金融类首次成功交易后遇到令人困惑的错误后
冥想类完成一次冥想会话后冷启动时
购物类成功完成购买/收货后结账失败后

Session-Based Rules

基于会话的规则

Only prompt users who meet all criteria:
Criteria to prompt:
✓ Sessions >= 3 (not a first-time user)
✓ Time since install >= 3 days
✓ Has completed [activation event] at least once
✓ No crash in last session
✓ No negative signal (error, cancellation) in current session
✓ Not already rated this version
仅向满足以下所有条件的用户发起评分请求:
评分请求条件:
✓ 会话次数 >= 3(非首次使用的用户)
✓ 安装后已过 >= 3天
✓ 至少完成过一次【激活事件】
✓ 上一次会话未出现崩溃
✓ 当前会话无负面信号(错误、取消操作)
✓ 尚未对当前版本评分

Pre-Prompt Survey (Recommended)

预提示调查(推荐)

Before triggering the native prompt, show a single in-app question:
"Are you enjoying [App Name]?"
  [Yes, love it!]   [Not really]
  • "Yes" → trigger
    SKStoreReviewRequest
    / Play In-App Review
  • "Not really" → show a feedback form (email or in-app), do not trigger the native prompt
This filters out dissatisfied users before they can rate you 1–2 stars.
Expected improvement: 0.3–0.8 stars on average with a pre-prompt filter.
在触发原生评分提示前,先在应用内展示一个简单的问题:
“你喜欢【应用名称】吗?”
  [是的,超喜欢!]   [不太喜欢]
  • “是的” → 触发
    SKStoreReviewRequest
    /Play In-App Review
  • “不太喜欢” → 展示反馈表单(邮件或应用内反馈),不要触发原生评分提示
这会在不满用户给出1-2星评分前就将其过滤掉。
预期提升效果: 使用预提示过滤器后,评分平均可提升0.3-0.8星。

Version-Gating (iOS)

版本限制(iOS)

iOS allows you to reset ratings per version in App Store Connect. Use this strategically:
  • Reset after a major improvement — If you fixed the top-complained issues
  • Do not reset after a controversial change that users disliked
  • After a reset, run an aggressive (but filtered) prompt campaign in the first 7 days
  • Target your most engaged users first (longest session history)
iOS允许你在App Store Connect中按版本重置评分。请策略性地使用该功能:
  • 在重大改进后重置 —— 如果你修复了用户投诉最多的问题
  • 不要在有争议的更新后重置 —— 如果用户不喜欢你的更新内容
  • 重置后,在最初7天内开展积极(但经过筛选的)评分提示活动
  • 优先针对最活跃的用户(会话历史最长的用户)

Recovering from a Rating Drop

从评分下降中恢复

Diagnosis

诊断步骤

  1. Check which version caused the drop — correlate with release dates
  2. Read the 1-star reviews for that period — find the common complaint
  3. Fix the issue in the next release
  4. Reply to every 1–3 star review (see
    review-management
    skill)
  1. 确定是哪个版本导致评分下降——将评分变化与版本发布日期关联
  2. 阅读该时期的一星评论——找出共同的投诉点
  3. 在下次版本更新中修复问题
  4. 回复每一条1-3星评论(请查看
    review-management
    技能)

Recovery Campaign

恢复计划

After the fix is shipped:
  1. Reply to negative reviews: "Fixed in version X.X — please update and let us know"
  2. Some users will update their rating after a reply
  3. Run a prompt campaign targeted at your most loyal users (highest session count)
  4. Do not prompt users who left a negative review
修复方案上线后:
  1. 回复负面评论:“问题已在X.X版本中修复——请更新应用并告知我们使用体验”
  2. 部分用户会在收到回复后更新他们的评分
  3. 针对最忠实的用户(会话次数最多的群体)开展评分提示活动
  4. 不要向留下过负面评论的用户发起评分请求

Timeline

时间线

Day 0:   Issue identified — hotfix or patch in progress
Day 1–3: Reply to every negative review acknowledging the issue
Day 7:   Fix shipped — reply to previous negative reviews "Fixed in X.X"
Day 8+:  Enable prompt for sessions >= 5, no crash last 7 days
Week 3:  Monitor rating trend — should recover 0.2–0.5 stars in 2–4 weeks
第0天: 确定问题——紧急修复或补丁开发中
第1-3天: 回复每一条负面评论,告知用户已知晓问题
第7天: 修复方案上线——回复之前的负面评论“问题已在X.X版本中修复”
第8天及以后: 向满足会话次数>=5、近7天无崩溃的用户开放评分提示
第3周: 监控评分趋势——2-4周内评分应能恢复0.2-0.5星

Prompt Frequency

提示频率

PlatformMaximumRecommended
iOS3× per 365 days (Apple-enforced)1–2× per version
AndroidNo hard limit (Google throttles)1× per 30 days per user
Never show the prompt twice in the same session.
平台上限推荐频率
iOS每年3次(苹果强制限制)每个版本1-2次
Android无硬性限制(谷歌会限流)每位用户每30天1次
绝不要在同一会话中展示两次评分提示。

Output Format

输出格式

Rating Strategy Plan

评分策略方案

Current rating: [X.X] ★  ([N] ratings)
Platform: iOS / Android / Both

Success moments identified:
1. [Event name] — fires when [condition]
2. [Event name] — fires when [condition]

Pre-prompt survey: Yes / No
  If yes: "Are you enjoying [App Name]?" → Yes / Not really

Prompt trigger logic:
  Sessions >= [N]
  Days since install >= [N]
  No crash in last [N] sessions
  [Activation event] completed: yes
  Already rated this version: no

Expected outcome: +[X] stars over [N] weeks

Recovery plan (if rating < 4.0):
  1. [Fix] — ship by [date]
  2. [Reply strategy] — [N] reviews to address
  3. [Prompt campaign] — start [date], target [segment]
当前评分:[X.X] ★ (共[N]条评分)
平台:iOS / Android / 两者

已确定的成功时刻:
1. [事件名称] —— 触发条件:[具体条件]
2. [事件名称] —— 触发条件:[具体条件]

是否使用预提示调查:是 / 否
  如果是:“你喜欢【应用名称】吗?” → 是 / 不太喜欢

评分请求触发逻辑:
  会话次数 >= [N]
  安装后已过天数 >= [N]
  最近[N]次会话无崩溃
  已完成【激活事件】:是
  已对当前版本评分:否

预期效果:[N]周内评分提升+[X]星

恢复计划(若评分<4.0):
  1. [修复内容] —— 上线日期:[具体日期]
  2. [回复策略] —— 需处理[N]条评论
  3. [评分提示活动] —— 启动日期:[具体日期],目标群体:[用户细分]

Related Skills

相关技能

  • review-management
    — Respond to reviews to recover rating
  • onboarding-optimization
    — Fix activation issues that drive 1-star reviews
  • android-aso
    — Play In-App Review API context
  • retention-optimization
    — Engaged users give better ratings
  • review-management
    —— 通过回复评论恢复评分
  • onboarding-optimization
    —— 修复导致一星评分的激活问题
  • android-aso
    —— Play In-App Review API相关内容
  • retention-optimization
    —— 活跃用户给出的评分更高