rating-prompt-strategy について
アプリチーム向けに、ユーザーが価値を得た後の評価リクエストの時期と対象を検討し、低評価のリスクを抑えるスキルです。iOS と Android のネイティブ機能、事前アンケート、評価低下への対応を扱います。
主な機能
- 01ユーザーの成功体験の特定
- 02利用状況に基づく対象者の選定
- 03iOS と Android のネイティブ評価リクエスト
- 04事前アンケートとフィードバックの振り分け
- 05評価低下の分析と回復
活用シーン
- 01評価リクエストに適した時期の計画
- 02リクエスト前の対象条件の設定
- 03不満のあるユーザーをフィードバックへ誘導
- 04リリース後の評価低下への対処
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ appeeky/ aso-skills --skill rating-prompt-strategyインストール後、Claude Code で/rating-prompt-strategyを入力して読み込まれたか確認します。
詳細
評価プロンプト戦略
アプリでレビューを依頼するタイミング、方法、対象ユーザーを最適化し、高評価を最大化しながら低評価を最小限に抑えます。評価は App Store のランキング指標であり、プロダクトページでのコンバージョン要因でもあります。
ASO で評価が重要な理由
- 検索ランキング — 評価が高いアプリは、競争の激しいキーワードで上位に表示されます
- コンバージョン — 検索結果には評価の星が表示されます。一目で見たとき、4.8 は 4.2 より優れています
- iOS: 評価はバージョンごとにリセットされます(App Store Connect でリセットを申請できます)
- Android: 評価は永続的に累積されるため、低評価が続いた期間から挽回するのは困難です
基本ルール
価値を実感したユーザーにのみ、評価を依頼してください。 早すぎる依頼は低評価につながります。成功したタイミングで依頼すると、4~5 つ星の評価につながります。
iOS — SKStoreReviewRequest
Apple のネイティブプロンプトです。ルール:
- 呼び出し回数にかかわらず、表示は年 3 回までです
- 表示するかどうかは Apple が制御するため、呼び出しても表示されるとは限りません
- エラー、クラッシュ、ユーザーが不満を感じるタイミングの後には、絶対に依頼しないでください
- プロンプトの UI はカスタマイズできません
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
Google のネイティブプロンプトです。ルール:
- 明確な上限はありませんが、呼び出し回数が多すぎると Google によって表示が制限されます
- 明確な成功体験の後に表示してください
- ユーザーが実際に評価したかどうかは確認できません(プライバシー保護のため)
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 */ }
}
}
タイミングのフレームワーク
成功体験のトリガー
ユーザーの満足度が最も高いアプリ内の「成功体験」を 1~3 個定義します。
| アプリの種類 | 適切な依頼タイミング | 不適切な依頼タイミング |
|---|---|---|
| フィットネス | ワークアウトの完了後 | セッションをスキップした後 |
| 生産性 | プロジェクト/タスクの完了後 | 保存失敗や同期エラーの後 |
| ゲーム | レベルのクリアやボスの撃破後 | 敗北や失敗の後 |
| 金融 | 初めての取引が成功した後 | わかりにくいエラーの後 |
| 瞑想 | セッションの完了後 | アプリを起動した直後 |
| ショッピング | 購入や配送の成功後 | 決済に失敗した後 |
セッションに基づくルール
以下のすべての条件を満たすユーザーにのみ依頼します。
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
事前アンケート(推奨)
ネイティブプロンプトを表示する前に、アプリ内で 1 つだけ質問を表示します。
"Are you enjoying [App Name]?"
[Yes, love it!] [Not really]
- 「はい」 →
SKStoreReviewRequest/Play In-App Review を呼び出します - 「あまりそう思わない」 → フィードバックフォーム(メールまたはアプリ内)を表示し、ネイティブプロンプトは呼び出しません
これにより、不満を持つユーザーが 1~2 つ星の評価を付ける前に、そのユーザーを除外できます。
期待できる改善: 事前アンケートによるフィルタリングで、平均 0.3~0.8 つ星の向上が見込めます。
バージョンごとの評価リセット(iOS)
iOS では、App Store Connect でバージョンごとに評価をリセットできます。戦略的に活用してください。
- 大幅な改善の後にリセットします — 最も多く寄せられていた問題を修正した場合
- ユーザーに不評だった物議を醸す変更の後は、リセットしないでください
- リセット後の最初の 7 日間は、積極的な(ただしフィルタリングした)依頼キャンペーンを実施します
- まず、最もエンゲージメントの高いユーザー(セッション履歴が最も長いユーザー)を対象にします
評価の低下からの回復
原因の特定
- どのバージョンで評価が低下したか確認します — リリース日と照らし合わせます
- 該当期間の 1 つ星レビューを読み、共通する不満を見つけます
- 次のリリースで問題を修正します
- 1~3 つ星のレビューすべてに返信します(
review-managementスキルを参照)
回復キャンペーン
修正をリリースした後:
- 否定的なレビューに返信します:「バージョン X.X で修正しました。アップデートして、ぜひお知らせください」
- 返信を受けて評価を更新するユーザーもいます
- 最もロイヤルなユーザー(セッション数が最も多いユーザー)を対象に、評価依頼キャンペーンを実施します
- 否定的なレビューを投稿したユーザーには依頼しないでください
タイムライン
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
依頼頻度
| プラットフォーム | 最大頻度 | 推奨頻度 |
|---|---|---|
| iOS | 365 日あたり 3 回(Apple による制限) | バージョンごとに 1~2 回 |
| Android | 明確な上限なし(Google による制限あり) | ユーザーごとに 30 日あたり 1 回 |
同じセッション内でプロンプトを 2 回表示しないでください。
出力形式
評価戦略プラン
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]
関連スキル
review-management— 評価を回復するためにレビューに返信しますonboarding-optimization— 星1つのレビューにつながるアクティベーションの問題を解決しますandroid-aso— Play In-App Review API のコンテキストretention-optimization— エンゲージメントの高いユーザーはより良い評価を付けます
コメント
Markdown 対応