アプリレビューと評価は、バニティメトリック以上のものです。アプリの可視性、信頼性、最終的な成功を決定する重要な要素です。アプリストアとGoogle Playストアで。最初のアプリをリリースしたり、既存の製品を管理したりする場合、レビューと評価を活用する方法を理解することは、ダウンロード数と収益に大きな影響を与えることができます。
この包括的なガイドでは、レビューと評価の重要性、アプリのパフォーマンスへの影響、ユーザーからより多くのポジティブなフィードバックを得るための証明された戦略について説明します。
アプリレビューと評価の重要性
社会的証明力の力
アプリの評価とレビューは、ユーザーがアプリについてどう思っているかを示す公的フィードバックです。アプリの存在する市場では、数百万のアプリがユーザーの注意を求めています。レビューは、ユーザーがアプリをダウンロードするかどうかを決定するための主な信頼性信号です。
重要な統計:
- 評価が高いアプリ(4.0以上)は、評価が低いアプリよりもダウンロード率が4倍以上高い
- 79%のユーザーはダウンロードする前に評価とレビューを確認する
- 最初の数回のレビューは、新しいアプリの成功を決める
アプリストアランキングへの影響
AppleとGoogleは、評価とレビューをランキング要因として考慮していますが、扱い方は異なります:
Google Play Store:
- 多くの肯定的な評価とレビューを持つアプリは、探索と閲覧のトラフィックを得ます
- 評価が高いアプリは、カスタマイズされたコレクションに特集される可能性が高くなります
- Google Playでは、約4.0の平均星評価が必要です
- ユーザー レビューはキーワードで索引され、直接検索ランキングに影響します
- 最近の評価は古い評価よりも重みを持ちます
Apple App Store:
- 評価が高いアプリは、検索結果で上位に表示されます
- 肯定的なレビューはアプリのリストページでのコンバージョン率を増加させます
- 評価が高いアプリは、Todayタブの機能に適格になります
- 評価は「類似のアプリ」レコメンデーションに影響します
- レビューは直接キーワードランキングに影響を与えません(Google Playとは異なり)
変換率乗数
ユーザーがアプリのストアページに到着したときに最初に目にしたのはあなたのアプリの評価です。3.5星と4.5星の評価の差は劇的です:
- 4.5星以上:プレミアムの認識、高い信頼、強い変換
- 4.0-4.4星:良好な認識、受け入れられる信頼、堅実な変換
- 3.5-3.9星:質問される品質、信頼の低下、変換率の低下
- 3.5星未満:大きな警告、信頼の低下、変換率の低下
研究によると、評価を3.8から4.2星に改善すると、変換率が50%以上増加することが示されています。
Appストア間の主な違い
各プラットフォームがレビューと評価をどのように扱うかを理解することで、両方の戦略を最適化するのに役立ちます。
Google Play Storeレビューシステム
どのように機能するか:
- 最新のアプリバージョンの評価に重みを置く
- 最も肯定的なと最も批判的なレビューを両方とも目立つように表示
- ユーザーがアプリ開発者への回答に応じて評価を更新できる
- 評価をリセットすることはできません—あなたの履歴は続きます
- レビューは検索ランキングに影響を与えます
レビュー表示:
- 主なリストに約6つのレビューを表示
- 最も役立つ肯定的なと否定的なレビューを強調表示
- レビューと開発者の回答をinlineで表示
戦略的アドバンテージ:
- レビュー内のキーワードがSEOに役立ちます
- 開発者の回答は否定的なレビューを肯定的な結果に変えることができます
- 開発者のエンゲージメントを確認した後、ユーザーは評価を変更できます
Apple App Store レビュー システム
機能のしくみ:
- アプリの全生涯の評価を計算します (リセットされない限り)
- 新しいメジャーバージョンとともに評価をリセットすることができます (推奨されていません)
- ランキングのためにレビューのキーワードをインデックスに追加しない
- リストページで約6つのレビューを強調表示
- 各バージョンごとに別の評価
レビュー表示:
- 最も役に立つレビューを先に表示
- 現在のバージョンの評価をすべてのバージョンと分けて表示
- 開発者による回答は個別のレビューの下に表示
戦略的アドバンテージ:
- メジャーアップデートで評価をリセットできる (sparingly)
- インアプリのレビューの促進はネイティブのiOSシステムを使用
- ユーザーはレビューを書かなくても評価することができる
レビューと評価の管理のためのベストプラクティス
1. レビューへの回答を戦略的に
開発者による回答はアプリの評判を管理するための最も強力なツールです。
優先順位戦略:
- 1-2星評価に最初に返信する - これらは最もダメージを与え、最大の機会を提供します
- 技術的な問題の対応 - バグを修正していることを示します
- 感謝の意を表す - 支援を続けることを促します
- 建設的な意見に対する返信 - 意見を聞いていることを示します
返信のベストプラクティス:
否定的なレビューに対して:
Thank you for your feedback, [Name]. We're sorry to hear about [specific issue].
Our team has identified and fixed this problem in version [X.X]. Please update
to the latest version and let us know if you still experience any issues. We're
committed to providing you with the best experience possible.
- [Your Name], [Your App] Team
肯定的なレビューに対して:
Thank you so much for the 5-star review, [Name]! We're thrilled to hear that
you're enjoying [specific feature they mentioned]. Your support means everything
to our team. If you ever have suggestions, we'd love to hear them at
support@yourapp.com.
- [Your Name], [Your App] Team
なぜこれが重要か:
- A developer response can reduce the impact of a negative review by up to 50%
- ユーザーが開発者の回答を見ることで、ダウンロードの確率が3倍になる
- Google Playでユーザーは、有益な回答を受け取った後、評価を更新することが多い
- アプリの活発な開発を示す
2. ステラテジックなインアプリレビューの提示
レビューのタイミングと背景が成功率に大きな影響を与える
質問するタイミング
- ✅ ユーザーがポジティブなアクションを完了した後 (レベルを完了した、ワークアウトを完了した、購入を完了した)
- ✅ 多くの成功したセッションの後 (ユーザーが5-7回以上エンゲージした)
- ✅ ユーザーがマイルストーンまたは目標を達成した時
- ✅ 顧客サポートの問題をポジティブに解決した後
質問しないタイミング
- ❌ アプリ起動またはインストール直後
- ❌ オンボードまたはチュートリアル中
- ❌ エラーまたはクラッシュ直後
- ❌ ユーザーがタスク中
- ❌ 数ヶ月ごとに複数回
Implementing In-App Reviews with Capacitor
iOSとAndroidは両方とも、インストール済みアプリ内レビューのネイティブAPIを提供しています。これは、アプリ内でシームレスかつ非侵襲的なポップアップを表示します。Capacitorを使用すると、この機能を簡単に実装できます。
推奨プラグイン: @capacitor-community/in-app-review
インストール方法
npm install @capacitor-community/in-app-review
npx cap sync
基本的な実装
import { InAppReview } from '@capacitor-community/in-app-review';
async function requestReview() {
try {
await InAppReview.requestReview();
} catch (error) {
console.log('Review request not shown:', error);
}
}
ユーザー行動を追跡するインストール済みアプリ内レビューの戦略的な実装
import { InAppReview } from '@capacitor-community/in-app-review';
import { Preferences } from '@capacitor/preferences';
async function checkAndRequestReview() {
// Get user engagement data
const { value: sessionCount } = await Preferences.get({ key: 'sessionCount' });
const { value: lastReviewRequest } = await Preferences.get({ key: 'lastReviewRequest' });
const sessions = parseInt(sessionCount || '0');
const lastRequest = parseInt(lastReviewRequest || '0');
const daysSinceLastRequest = (Date.now() - lastRequest) / (1000 * 60 * 60 * 24);
// Only ask if user has used app at least 5 times
// and hasn't been asked in the last 90 days
if (sessions >= 5 && (daysSinceLastRequest > 90 || !lastRequest)) {
try {
await InAppReview.requestReview();
// Store the request timestamp
await Preferences.set({
key: 'lastReviewRequest',
value: Date.now().toString()
});
} catch (error) {
console.log('Review prompt not shown:', error);
}
}
}
// Call after positive user action
async function onUserCompletedGoal() {
// Increment session counter
const { value: sessionCount } = await Preferences.get({ key: 'sessionCount' });
const newCount = (parseInt(sessionCount || '0') + 1).toString();
await Preferences.set({ key: 'sessionCount', value: newCount });
// Check if we should request review
await checkAndRequestReview();
}
ユーザーの感情を検出するインストール済みアプリ内レビューの高度な実装
import { InAppReview } from '@capacitor-community/in-app-review';
import { Preferences } from '@capacitor/preferences';
class ReviewManager {
private static MINIMUM_SESSIONS = 5;
private static MINIMUM_DAYS_BETWEEN_REQUESTS = 90;
private static POSITIVE_ACTIONS_THRESHOLD = 3;
static async trackPositiveAction(actionType: string) {
const { value } = await Preferences.get({ key: 'positiveActions' });
const actions = JSON.parse(value || '[]');
actions.push({
type: actionType,
timestamp: Date.now()
});
await Preferences.set({
key: 'positiveActions',
value: JSON.stringify(actions)
});
// Check if user qualifies for review request
await this.checkReviewEligibility();
}
static async trackNegativeAction(actionType: string) {
// Reset positive action counter on negative events
await Preferences.set({
key: 'positiveActions',
value: JSON.stringify([])
});
}
private static async checkReviewEligibility() {
const { value: sessionCount } = await Preferences.get({ key: 'sessionCount' });
const { value: lastRequest } = await Preferences.get({ key: 'lastReviewRequest' });
const { value: actionsValue } = await Preferences.get({ key: 'positiveActions' });
const sessions = parseInt(sessionCount || '0');
const lastRequestTime = parseInt(lastRequest || '0');
const actions = JSON.parse(actionsValue || '[]');
const daysSinceLastRequest = (Date.now() - lastRequestTime) / (1000 * 60 * 60 * 24);
const isEligible =
sessions >= this.MINIMUM_SESSIONS &&
actions.length >= this.POSITIVE_ACTIONS_THRESHOLD &&
(daysSinceLastRequest > this.MINIMUM_DAYS_BETWEEN_REQUESTS || !lastRequestTime);
if (isEligible) {
await this.requestReview();
}
}
private static async requestReview() {
try {
await InAppReview.requestReview();
// Store request timestamp
await Preferences.set({
key: 'lastReviewRequest',
value: Date.now().toString()
});
// Reset positive actions counter
await Preferences.set({
key: 'positiveActions',
value: JSON.stringify([])
});
} catch (error) {
console.log('Review request not shown:', error);
}
}
}
// Usage in your app
async function onWorkoutCompleted() {
await ReviewManager.trackPositiveAction('workout_completed');
}
async function onGoalAchieved() {
await ReviewManager.trackPositiveAction('goal_achieved');
}
async function onErrorOccurred() {
await ReviewManager.trackNegativeAction('error');
}
重要なプラットフォーム制限:
iOSの制限:
- __CAPGO_KEEP_0__は年間1回あたり3回までの制限で、ユーザーごとに自動的に制限されます。
- __CAPGO_KEEP_0__はユーザーが要求するのではなく、システムが制御するため、要求することはできません。
- ユーザーは設定で__CAPGO_KEEP_0__を完全に無効にすることができます。
- APIを表示する前に、APIを表示するダイアログを表示しないでください。
Androidの制限:
- Google Playでは、__CAPGO_KEEP_0__のクォータ制限があります。
- __CAPGO_KEEP_0__が表示されない場合、ユーザーがアプリをレビューしたことがある場合があります。
- レビューは即時ではなく、Play Consoleで表示されない場合があります。
- APIはGoogle Play経由で配布されているアプリにのみ機能します。
ベストプラクティス: 「アプリ評価」ボタンを追加しないでください。 requestReview()システムは、特にユーザーがクォータを達成した場合、提示しない可能性があります。その結果、機能しない体験が生まれます。代わりに、直接アプリストアのページを開くボタンを使用してください。
import { InAppReview } from '@capacitor-community/in-app-review';
async function openAppStorePage() {
// Opens the app store page where users can always leave a review
await InAppReview.openAppStore({
appId: '1234567890' // Your app's ID
});
}
3. 競合他社のレビューを分析して市場の洞察を得る
競合他社のレビューは、市場の知恵の宝庫です。
何を探すか:
- ユーザーが最も頻繁に要求する機能
- 共通の不満や痛点
- 価格に関するフィードバック
- 繰り返し言及されるUX/UIの問題
- 他のアプリとの機能の比較
- 競合他社が未解決のバグ
このデータをどのように使用するか:
- ユーザーが競合他社に求めている機能を実装する
- カテゴリで悩まされている問題を解決する
- 市場のギャップを埋めるアプリを展開する
- 実際のユーザーラングウェージに基づいてマーケティングメッセージを改善する
4. システマティックレビュー監視プロセスを作成する
週次レビューチェック:
- 両方のプラットフォームで新しいレビューをすべて読む
- 24-48時間以内に否定的なレビューに回答する
- 詳細な肯定的なフィードバックを残すユーザーに感謝する
- 繰り返しテーマや問題を追跡する
- 競合他社のレビューを監視する
月次分析:
- __CAPGO_KEEP_0__
- __CAPGO_KEEP_1__
- __CAPGO_KEEP_2__
- __CAPGO_KEEP_3__
- __CAPGO_KEEP_4__
__CAPGO_KEEP_5__
- __CAPGO_KEEP_6__
- __CAPGO_KEEP_7__
- __CAPGO_KEEP_8__
- __CAPGO_KEEP_9__
バージョンごとの評価戦略 (iOS)
1. iOS用バージョンごとの評価戦略
iOSでは、現在のバージョンとすべてのバージョンの評価を個別に表示できます。これは、機会を生み出します。
戦略:
- 大幅な改善を含むメジャーアップデートをリリース
- 新バージョンに積極的に関与しているユーザーを促す
- 新バージョンの評価は古い否定的なレビューを上回ることができる
- Appleは両方の評価を表示しますが、ユーザーは現在のバージョンに焦点を当てます
使用するタイミング:
- 主なバグを修正した後
- 高く求められていた機能を追加した後
- 大幅なUX改善を実施した後
- ブランド名や大幅なデザイン変更を行った後
重要: __CAPGO_KEEP_0__
__CAPGO_KEEP_1__
__CAPGO_KEEP_2__
__CAPGO_KEEP_3__
- __CAPGO_KEEP_4__
- __CAPGO_KEEP_5__
- __CAPGO_KEEP_6__
- __CAPGO_KEEP_7__
- __CAPGO_KEEP_8__
__CAPGO_KEEP_9__
- __CAPGO_KEEP_10__
- __CAPGO_KEEP_11__
- サポートに連絡したが解決しなかった問題を持つユーザー
- __CAPGO_KEEP_0__
- コア機能に触れていない無料ユーザー
アプリをインストールしたばかりのユーザー
3. 悪評に対して戦略的に対応する
悪評に対するあなたの反応は、レビューを投稿したユーザーにとってだけでなく、将来あなたのアプリのページを訪れるすべてのユーザーにとっても大切なものです。
-
悪評に対する反応の枠組み 問題を認識する
-
Take Responsibility: 責任を負う
-
Provide Solution: 解決策を提示する
-
さらに連絡を求める “If you continue to experience issues, please reach out to us at support@yourapp.com so we can assist you directly.”
-
Sign Personally: “- John, [App Name] Support Team”
Example Response Template:
Hi [Name],
Thank you for your feedback, and we sincerely apologize for the frustrating experience
with [specific issue]. This is not the level of quality we strive for.
We've identified and resolved this problem in our latest update (version X.X), which
is now available in the [App/Play] Store. After updating, please try [specific action]
again, and it should work smoothly.
If you continue to experience any issues, please don't hesitate to contact us directly
at support@yourapp.com. We're committed to making this right.
We appreciate your patience and hope you'll give us another chance to provide you with
a great experience.
Best regards,
[Your Name]
[Your App] Support Team
4. Use Email Campaigns to Request Reviews
For apps with user accounts, email can be an effective channel for review requests.
Email Review Request Best Practices:
Subject Lines That Work:
- “Quick question about [App Name]”
- “[App Name]の改善に協力してください”
- “[App Name]についてのご意見をお聞かせください”
メールテンプレート:
Subject: We'd love to hear what you think about [App Name]
Hi [Name],
We noticed you've been using [App Name] for [time period], and we wanted to reach
out personally to say thank you!
Your feedback would be incredibly valuable to us and to other users who are
considering [App Name]. Would you mind taking 30 seconds to share your thoughts?
[Rate on iOS] [Rate on Android]
We read every review and use your feedback to make [App Name] better.
Thank you for your support!
Best,
[Your Name]
[Your Title]
送信時期:
- 5-7回のアプリ使用後
- 重要なアクションを完了した後
- サブスクリプション開始後1-2週間
- 顧客サポートの良い反応後に
送信頻度: ユーザー1人あたり6ヶ月以内に1回以上
よくある間違いを避ける
1. すぐに送信するか、頻繁に送信する
The Problem: 新規ユーザーにレビューを求める前に、ユーザーがアプリの価値を体験していない場合、ユーザーは失望し、評価が低くなる。
The Solution: ユーザーがアプリに成功し、関与していることを示すまで、レビューを求めない。
2. Negative Reviewsを無視する
The Problem: 未回答の否定的なレビューは放棄を示し、ダウンロードを抑制する。
The Solution: 否定的なレビューに対して48時間以内に回答し、問題を認識するだけでもいい。
3. レビューを奨励する
The Problem: AppleとGoogleは、報酬、割引、機能などを用いてレビューを奨励することを明確に禁止している。
The Solution: レビューを求めるのではなく、素晴らしい製品を作り、自然に肯定的なフィードバックを誘うことに焦点を当ててください。
4. 偽のレビュー
The Problem: 偽のレビューはストアポリシーを侵害し、アプリの削除やアカウントの終了につながります。
The Solution: レビューを買う、レビュー サービスを使用する、または従業員が偽のレビューを投稿することは避けましょう。素晴らしいUXを通じて、真実のレビューを構築してください。
5. ただし、満足しているユーザーだけにフィードバックを求める
The Problem: ユーザーをセグメント化することは賢いことですが、満足していないユーザーからフィードバックを完全に避けると、重要な改善機会を逃すことになります。
The Solution: 満足していないユーザーに代わるフィードバック チャネルを作成してください。
import { InAppReview } from '@capacitor-community/in-app-review';
async function handleFeedbackRequest() {
// First, ask user if they're enjoying the app
const isHappy = await showDialog({
title: "Are you enjoying [App Name]?",
message: "We'd love to hear your thoughts!",
buttons: ["Yes!", "Not really"]
});
if (isHappy === "Yes!") {
// Request app store review
await InAppReview.requestReview();
} else {
// Direct to feedback form or support
showFeedbackForm({
title: "We're sorry to hear that",
message: "What can we improve?",
onSubmit: async (feedback) => {
await sendToSupportTeam(feedback);
showThankYou("Thank you! We'll work on this.");
}
});
}
}
注意: この前期評価アプローチは機能するかもしれませんが、操作的ではないように感じさせないように注意してください。より良いアプローチは、ユーザーに直接質問するのではなく、行動信号(完了アクション、エンゲージメント頻度)を使用することです。
成功を測定する: トラッキングする重要な指標
レビューと評価戦略の影響を理解するために、これらの指標を監視してください:
1. 平均評価の傾向
時間の経過とともに、評価がどのように変化しているかを追跡してください:
- アプリの総合評価
- 現在のバージョンの評価 (iOS)
- 国/地域別の評価
- メジャーアップデート後の評価の傾向
目標: 安定した上昇傾向または安定した 4.0+ 評価
2. レビューの総数を確認する
受け取るレビューの数を監視する:
- 週/月のレビュー総数
- ダウンロードごとのレビュー数 (レビュー率)
- 星評価分布によるレビュー数
- レビューへの対応率
目標: レビューの総数を増やす、特に4-5星のレビュー
3. レビューの感情分析
レビューの内容を分析する:
- 肯定的な vs.否定的な感情
- 機能に関する言及 (肯定的なと否定的な)
- エラー/クラッシュの言及
- 競合他社の比較
ツール: マニュアル分析、App Annie、Sensor Tower、またはカスタムNLPスクリプト
4. コンバージョンレートの影響
評価がコンバージョンに与える影響を測定する:
- 評価レベル別のコンバージョン率
- 評価レートの大幅な向上前後でのコンバージョン率
- レビュー数が異なるA/Bテスト
予想される影響: 0.1星の向上ごとにコンバージョンが5-10%増加する
5. 開発者対応の影響
反応の効果を追跡する:
- 開発者反応後の評価の更新 (Google Play)
- 最初の反応までの時間
- 反応率のパーセンテージ
- 反応後の感情の変化
目標: 負のレビューに対して90%以上の反応率、24時間以内に反応する
アプリのランキングとレビューを向上させるのに必要な助けを求めますか?
アプリのレビューと評価の管理は、アプリストアの最適化のパズルの一部だけです。アプリストアとGoogle Playストアでアプリの潜在力を最大化したい場合は、チームが支援できます。
アプリのランキングとレビューを向上させるための専門家のアドバイスを受けるために、カスタムコンサルテーションを予約してください。 個別のアドバイスを受けるために予約することができるものは
- アプリストア最適化 (ASO) の戦略
- [
- In-app review implementation with Capacitor
- インアプリレビューの実装に__CAPGO_KEEP_0__を使用します
- 競争分析とポジショニング
- コンバージョン率の最適化
- アプリストアのリスト表示の最適化
- キーワードの調査と最適化
A/Bテスト戦略
数百のアプリ開発者に助けました。彼らは評価を上げ、ダウンロード数を増やし、持続可能な成長戦略を構築しました。私たちはあなたのアプリを成功の物語に変えるためにあなたを助けます。
結論
アプリのレビューと評価は、アプリの成功にとって重要です。検索ランキング、コンバージョン率、長期的なユーザーの信頼度に影響を与えます。3.8星のアプリと4.3星のアプリの差は、数千のダウンロードと大きな収益につながります。
-
重要なポイント: AppleとGoogleは、Googleはレビューのキーワードをインデックスすることも含めて、評価とレビューをランキングシグナルとして使用しています。
-
開発者による回答は重要です: レビューに回答することで、特に否定的なレビューに回答することで、その影響を大幅に軽減でき、潜在的なユーザーに自分のアプリに対する関心を示すことができます。
-
タイミングは重要です: ユーザーがアプリの価値を体験し、最も関与している時点でレビューを求めるのではなく、インストール直後ではなくてください。
-
ネイティブインアプリレビューを使用してください: Capacitor プラグインを使用してネイティブレビューAPIを実装することで、シームレスでイントラーブリュースのない体験を実現できます。
-
ユーザーを分割してください: レビューを投稿する可能性の高いユーザーにのみレビューを求め、他のユーザーには代替のフィードバックチャネルを提供してください。
-
継続的に監視してください: 評価をトラッキングし、レビューに回答し、競合他社のフィードバックを分析し、継続的に改善してください。
-
何らかの方法で操作しないでください: 偽のレビュー、誘導レビュー、他に操作的な戦術は、店舗の規則を破り、信頼を損なう。
このガイドに記載されている戦略を実施し、Capacitorのインアプリレビュー プラグインを使用することで、実際の問題を解決するアプリを開発することで、ユーザーの成長を促進するための、信頼できる正のレビューを生成するための持続可能なシステムを構築できます。
実際の問題を解決するアプリを開発することで、素晴らしいレビューを取得する最良の方法は、素晴らしいアプリを開発することです。
その他は最適化です。 アプリを次のレベルに引き上げる準備ができましたか? with our team to develop a customized strategy for your app’s success.
アプリの成功のためのカスタマイズされた戦略を開発するために、チームと一緒にカスタムコンサルテーションを予約してください。 アプリを即時更新する方法を探している場合、店舗の承認を待たずにアプリを更新する方法をチェックしてください。Capgoのライブアップデートソリューションは、オーバーザエアの更新を実現し、アプリを新鮮で、ユーザーを満足させるアプリを保証します。 Why App Reviews and Ratings Matter: Success Guide
このガイドを使用している場合、Why App Reviews and Ratings Matter: Success Guide
Why App Reviews and Ratings Matter: Success Guideを使用している場合、Why App Reviews and Ratings Matter: Success Guide Why App Reviews and Ratings Matter: Success Guideを使用している場合、Why App Reviews and Ratings Matter: Success Guide ストアの承認と配布を計画し、 @capgo/capacitor-in-app-review @capgo/capacitor-in-app-reviewの実装詳細について Using @capgo/capacitor-in-app-review @capgo/capacitor-in-app-reviewのネイティブ機能 @capgo/capacitor-native-market @capgo/capacitor-native-market @capgo/capacitor-native-marketの実装詳細について for the native capability in Using @capgo/capacitor-native-market, and @Capacitor/__CAPGO_KEEP_1__-native-marketのネイティブ機能 for the practical context in Capacitor OTA Updates: App Store Approval Guide.