---
id: mobile-app-store-optimization
title: ASO — App Store / Play Store 최적화
category: Coding
status: draft
source_trust_level: B
verification_status: conceptual
created_at: 2026-05-09
updated_at: 2026-05-09
tags: [mobile, aso, vibe-coding]
tech_stack: { language: "process", applicable_to: ["Mobile"] }
applied_in: []
aliases: [ASO, App Store Optimization, keyword, screenshot, conversion, App Store Connect, Play Console]
---

# App Store Optimization (ASO)

> 앱 의 SEO. **Title + keyword + screenshot + rating + review = 검색 / 전환**. App Store + Play Store 다름.

## 📖 핵심 개념
- 검색 = 첫 노출.
- 페이지 = 전환 (install).
- Rating + review = 신뢰.
- 매주 / 매월 update.

## 💻 코드 패턴

### App Store (iOS)
```
Title: 30 char + brand
Subtitle: 30 char
Keyword: 100 char (CSV, 안 보임)
Description: 4000 char
Promotional text: 170 char
What's new: 4000 char
```

### Play Store (Android)
```
Title: 30 char
Short description: 80 char
Description: 4000 char (full text search)
What's new: 500 char
```

### iOS keyword field
```
Title: 가장 무거운 weight.
Subtitle: 두 번째.
Keyword field: 보조.

→ Title 에 핵심 keyword 1-2.
Subtitle 에 추가 1-2.
Keyword field = 나머지 (CSV: comma 만).
```

### Title 예
```
❌ "MyApp" — brand 만
❌ "MyApp - Best Photo Editor App For iPhone" — keyword stuffing

✅ "Photolab: AI Photo Editor"
   - Brand + 핵심 keyword + 차별
```

### Keyword research
```
- Sensor Tower / data.ai / AppFollow
- Apple Search Ads (Ads → 인기 keyword)
- 경쟁사 분석
- "{my niche}" + "for iPhone" / "free"

매 keyword 의:
- Volume (검색)
- Difficulty (경쟁)
- Relevance
```

### Localization
```
국가 / 언어 별 title + keyword.
EN-US: "Photo Editor: AI Filter"
KO: "포토 에디터: AI 필터"
JA: "写真編集アプリ"
ES: "Editor de Fotos"

→ 매 locale 가 별 검색 / volume.
```

→ App Store Connect → Localizations.

### Screenshot
```
첫 1-3 가 가장 중요 (preview).

순서:
1. Hook (가장 attractive)
2. Key feature 1
3. Key feature 2
4. Key feature 3
5. Social proof / award

추가:
- Title text overlay
- Annotation arrow
- Lifestyle (사람)
```

### Screenshot tooling
```
- Figma → 레이아웃
- Fastlane snapshot → device frame
- ScreenshotOne (web)
- AppLaunchpad (template)

→ 6.9", 6.7", 6.5" 다 size.
```

### App preview video (iOS)
```
30 sec max.
- Sound off (자막)
- 첫 5초 가 핵심
- App 안의 demo (외부 X)
- 매 size 별

→ 3 video / locale (가능).
```

### Icon
```
- Square 1024 × 1024 (iOS)
- 글자 X (작아 안 보임)
- Recognizable
- A/B test (Play Console)

iOS = A/B test 안 됨 (변경 = review).
```

### Rating
```
5 ★ 가 install 의 가장 큰 driver.

→ Negative review 가 주범.

해결:
- In-app review prompt (좋은 시점)
- 좋은 사용자 → store
- 안 좋은 → support form
```

```swift
// iOS
import StoreKit

if let scene = UIApplication.shared.connectedScenes.first as? UIWindowScene {
    SKStoreReviewController.requestReview(in: scene)
}
```

→ 매 365 days 3회 한도.

### Review prompt timing
```
좋은 시점:
- User 가 가치 경험 후 (e.g. 3 photo edit)
- Onboarding 후 X
- Bug 후 X

나쁜:
- 첫 launch
- 매 launch
```

### Negative review 응답
```
- 24-48 시간 안 답
- 친절 + 해결책
- "Update X.Y 에서 fixed" 가 update
- 사용자 가 rating 다시 가능

→ 진짜 응답 = 다른 사용자 도 신뢰.
```

### Description structure
```
첫 3 line = 가장 중요 (preview).

[Hook]
"Edit photos with AI in seconds."

[Features]
✓ AI background removal
✓ One-tap filters
✓ Pro tools

[Social proof]
"Featured by Apple, 5M+ users"

[CTA]
"Download now — free."
```

### A/B test (Play Store)
```
Play Console → Store listing experiments.

Variant A: Original
Variant B: New screenshot

→ 4-8주 → winner.
```

### iOS A/B (Custom Product Pages)
```
Product Page: 3 variant max.

→ Marketing 가 다른 page link 사용:
URL `?ppid=xxx`
```

→ Apple Search Ads 가 variant 선택.

### Pricing
```
무료 + IAP > 유료.
Subscription:
- 월 / 연 (보통 연 = 50% 할인)
- Free trial (7-30 days)
- Yearly first (큰 LTV)

$0.99 vs $1.99: 가격 가 install 영향 X (큰 차이 시).
```

### 예: yearly first
```
"$59.99 / year (7 days free)" (default)
"$9.99 / month" (small option)

→ 선택 시 가 yearly. LTV 5x.
```

### App size
```
< 200 MB = WiFi + cellular 가능.
> 200 MB = WiFi 만 (download abandon ↑).

→ App thinning + bitcode + on-demand resources.
```

### What's new (release notes)
```
매 update = update.
- 변경 사항 (concrete)
- "Bug fixes" 만 = 약함

✓ "Now supports Live Photos"
✓ "30% faster export"
✗ "Bug fixes and improvements"
```

### Version bumping
```
- 매 1-4 주 1 update
- Apple = featured 후보 가 update 가 잦은 앱
- 작은 update 도 update notes 기회
```

### Release scheduling
```
Mon-Wed: 가장 좋음.
Thu-Fri: review 가 늦음 (주말).
연말 (Dec 22 - Jan 7): App Store freeze.
```

### Apple Search Ads
```
- 검색 keyword 광고
- $5-50 / install (분야 따라)
- ROAS 측정 필요

→ 큰 keyword 비싼.
Long-tail keyword 가 cheap.
```

→ 좋은 organic ASO 후 Search Ads.

### Featured (App Store)
```
Apple 가 선정. 큰 boost (2-10x install).
- New (출시 첫 1개월)
- Update (significant)
- Today story
- Category top

→ Apple-friendly:
- iOS 새 feature 빨리 채택
- App Store guidelines 준수
- 좋은 design
```

### Indie hacker tips
```
- 1-2 keyword 만 집중
- Niche 가 broad 보다 좋음
- App preview video 가 differentiator
- Rating 4.7+ 우선
- Update note 가 마케팅
```

### 측정
```
App Store Connect:
- Impression / product page view / install
- Conversion = install / view
- Source (search, browse, web)
- Top keyword

Play Console:
- 비슷
- A/B variant
- Acquisition source
```

### 함정
```
- Review 매수 (Apple 가 ban)
- Misleading screenshot (rejection)
- Trademark (다른 앱 이름) → reject
- Auto reply review = penalty
```

### Tools
```
- AppFollow (review monitoring)
- Sensor Tower (data)
- Mobile Action (ASO)
- App Annie / data.ai
- ASOMobile (cheap)
```

## 🤔 의사결정 기준
| 단계 | 추천 |
|---|---|
| Pre-launch | Title + screenshot + Apple Search Ads test |
| First month | Featured 후보 — release notes + iOS new |
| 첫 6 month | Keyword 실험, A/B (Play Store) |
| 1+ year | Negative review 적극 응답, retention focus |
| Subscription | Yearly first, free trial |
| Indie | 1-2 keyword, niche, fast iterate |

## ❌ 안티패턴
- **Brand 만 title**: 검색 안 됨.
- **Keyword stuffing**: rejection.
- **첫 screenshot 가 약함**: 전환 ↓.
- **Negative review 무시**: 누적 = bad rating.
- **"Bug fixes" only**: 새 기회 안 보임.
- **Update 안 함**: deindex (Apple).
- **Single locale**: 큰 시장 잃음.
- **iOS 새 feature 무시**: featured 안 됨.

## 🤖 LLM 활용 힌트
- Title + screenshot 가 가장 큰 lever.
- Localization = 큰 multiplier.
- Apple Search Ads 가 keyword 검증.
- Featured = iOS 새 feature 빨리.

## 🔗 관련 문서
- [[Mobile_AB_Testing]]
- [[iOS_StoreKit_2_Patterns]]
- [[Mobile_App_Size_Optimization]]
