#ASO 툴

μ•± μŠ€ν† μ–΄ μ΅œμ ν™”(ASO) 데이터 관리 툴.

#툴 λͺ©λ‘

#aso-to-public (pull)

.aso/pullData/의 ASO 데이터λ₯Ό public/products/[slug]/ ν˜•μ‹μœΌλ‘œ λ³€ν™˜.

μž…λ ₯:

  • slug (ν•„μˆ˜): μ œν’ˆ 슬러그
  • locale (선택): λŒ€μƒ λ‘œμΌ€μΌ (κΈ°λ³Έκ°’: λͺ¨λ“  λ‘œμΌ€μΌ)

좜λ ₯:

  • λ‘œμΌ€μΌλ³„ λ³€ν™˜ ν”„λ‘¬ν”„νŠΈ
  • μ›Ή μ‚¬μš©μ„ μœ„ν•œ κ΅¬μ‘°ν™”λœ 데이터

#public-to-aso (push)

public/products/[slug]/ 데이터λ₯Ό .aso/pushData/ ASO ν˜•μ‹μœΌλ‘œ λ³€ν™˜.

μž…λ ₯:

  • slug (ν•„μˆ˜): μ œν’ˆ 슬러그
  • dryRun (선택): 파일 μ“°κΈ° 없이 미리보기
  • locales (선택): μ²˜λ¦¬ν•  νŠΉμ • λ‘œμΌ€μΌ

좜λ ₯:

  • μŠ€ν† μ–΄ μ—…λ‘œλ“œμš© ASO 데이터
  • μ—…λ‘œλ“œμš© μŠ€ν¬λ¦°μƒ· 경둜

#improve-public

κΈ°μ‘΄ 퍼블릭 데이터에 λŒ€ν•œ ASO μ΅œμ ν™” ν”„λ‘¬ν”„νŠΈ 생성.

μž…λ ₯:

  • slug (ν•„μˆ˜): μ œν’ˆ 슬러그
  • locale (선택): μ΅œμ ν™” λŒ€μƒ λ‘œμΌ€μΌ
  • mode (선택): primary (ν‚€μ›Œλ“œ μ΅œμ ν™”) λ˜λŠ” localize (λ²ˆμ—­)

좜λ ₯:

  • ν‚€μ›Œλ“œ 뢄석
  • μ΅œμ ν™” μ œμ•ˆ
  • ν˜„μ§€ν™” ν”„λ‘¬ν”„νŠΈ

#validate-aso

μŠ€ν† μ–΄ ν•„λ“œ μ œν•œ 및 κ·œμΉ™μ— λŒ€ν•œ ASO 데이터 검증.

μž…λ ₯:

  • slug (ν•„μˆ˜): μ œν’ˆ 슬러그
  • store (선택): appStore, googlePlay, λ˜λŠ” both

좜λ ₯:

  • ν•„λ“œ 길이 검증
  • ν‚€μ›Œλ“œ κ³ μœ μ„± 검사
  • μ •μ±… μ€€μˆ˜ κ²½κ³ 

#keyword-research

ASO μ΅œμ ν™”λ₯Ό μœ„ν•œ ν‚€μ›Œλ“œ λ¦¬μ„œμΉ˜ 데이터 관리.

μž…λ ₯:

  • slug (ν•„μˆ˜): μ œν’ˆ 슬러그
  • locale (ν•„μˆ˜): λŒ€μƒ λ‘œμΌ€μΌ
  • platform (선택): ios λ˜λŠ” android

좜λ ₯:

  • ν‚€μ›Œλ“œ λ¦¬μ„œμΉ˜ 파일 경둜
  • λΆ„μ„μš© λ¦¬μ„œμΉ˜ ν”„λ‘¬ν”„νŠΈ

#localize-screenshots

Gemini APIλ₯Ό μ‚¬μš©ν•˜μ—¬ μ•± μŠ€ν¬λ¦°μƒ·μ„ μ—¬λŸ¬ μ–Έμ–΄λ‘œ λ²ˆμ—­ν•©λ‹ˆλ‹€. κΈ°λ³Έ λͺ¨λΈ: gemini-3.1-flash-image-preview (μ„ νƒμ μœΌλ‘œ gemini-3-pro-image-preview).

μš”κ΅¬μ‚¬ν•­:

  • Gemini API ν‚€ μ„€μ • ν•„μš” (μ„€μ • 방법 μ°Έμ‘°)
  • μŠ€ν¬λ¦°μƒ·μ΄ public/products/{slug}/screenshots/{locale}/phone/ 및/λ˜λŠ” tablet/에 μžˆμ–΄μ•Ό 함

μž…λ ₯:

  • appName (ν•„μˆ˜): μ•± 이름, 슬러그, bundleId λ˜λŠ” packageName
  • targetLocales (선택): λ²ˆμ—­ν•  νŠΉμ • λ‘œμΌ€μΌ (κΈ°λ³Έκ°’: μ§€μ›ν•˜λŠ” λͺ¨λ“  λ‘œμΌ€μΌ)
  • deviceTypes (선택): ["phone"], ["tablet"], λ˜λŠ” ["phone", "tablet"] (κΈ°λ³Έκ°’: λ‘˜ λ‹€)
  • dryRun (선택): μ‹€μ œ λ²ˆμ—­ 없이 미리보기 λͺ¨λ“œ (κΈ°λ³Έκ°’: false)
  • skipExisting (선택): λ²ˆμ—­λœ 파일이 있으면 κ±΄λ„ˆλ›°κΈ° (κΈ°λ³Έκ°’: true)
  • screenshotNumbers (선택): μ²˜λ¦¬ν•  νŠΉμ • μŠ€ν¬λ¦°μƒ· 번호
    • λͺ¨λ“  기기에 적용: [1, 3, 5]
    • 기기별 μ§€μ •: { phone: [1, 2], tablet: [1, 3, 5] }
    • μ§€μ •ν•˜μ§€ μ•ŠμœΌλ©΄ λͺ¨λ“  μŠ€ν¬λ¦°μƒ· 처리
  • preserveWords (선택): λ²ˆμ—­ν•˜μ§€ μ•Šμ„ 단어 (예: ["Pabal", "Pro", "AI"])
  • imageModel (선택): "flash"(κΈ°λ³Έκ°’) λ˜λŠ” "pro"

좜λ ₯:

  • λ²ˆμ—­λœ μŠ€ν¬λ¦°μƒ·μ„ screenshots/{targetLocale}/phone/ 및 tablet/에 μ €μž₯
  • 이미지λ₯Ό μ†ŒμŠ€ 크기에 맞게 μžλ™ 리사이징

λΉ„μš© 정보:

  • 이미지 생성 μ‹œ μž₯λ‹Ή μ•½ $0.13

지원 μ–Έμ–΄:

졜적의 μ„±λŠ₯을 μœ„ν•΄ Gemini API λ¬Έμ„œμ— λͺ…μ‹œλœ λ‹€μŒ μ–Έμ–΄λ§Œ 이미지 생성을 μ§€μ›ν•©λ‹ˆλ‹€:

Gemini λ‘œμΌ€μΌμΆœλ ₯ λ‘œμΌ€μΌ (UnifiedLocale)
en-US (μ˜μ–΄)en-US, en-AU, en-CA, en-GB, en-IN, en-SG, en-ZA
ar-EG (μ•„λžμ–΄)ar
de-DE (독일어)de-DE
es-MX (μŠ€νŽ˜μΈμ–΄)es-419, es-ES, es-US
fr-FR (ν”„λž‘μŠ€μ–΄)fr-FR, fr-CA
hi-IN (νžŒλ””μ–΄)hi-IN
id-ID (μΈλ„λ„€μ‹œμ•„μ–΄)id-ID
it-IT (μ΄νƒˆλ¦¬μ•„μ–΄)it-IT
ja-JP (일본어)ja-JP
ko-KR (ν•œκ΅­μ–΄)ko-KR
pt-BR (포λ₯΄νˆ¬κ°ˆμ–΄)pt-BR, pt-PT
ru-RU (λŸ¬μ‹œμ•„μ–΄)ru-RU
ua-UA (μš°ν¬λΌμ΄λ‚˜μ–΄)uk-UA
vi-VN (λ² νŠΈλ‚¨μ–΄)vi-VN
zh-CN (쀑ꡭ어)zh-Hans, zh-Hant, zh-HK

μœ μ‚¬ν•œ λ‘œμΌ€μΌμ€ 그룹으둜 λ¬Άμ–΄ API ν˜ΈμΆœμ„ μ€„μž…λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄, μŠ€νŽ˜μΈμ–΄(es-MX)둜 λ²ˆμ—­ν•˜λ©΄ λ™μΌν•œ 이미지가 es-419, es-ES, es-US 폴더에 μžλ™μœΌλ‘œ μ €μž₯λ©λ‹ˆλ‹€.

지원 λͺ©λ‘μ— μ—†λŠ” λ‘œμΌ€μΌμ€ λ²ˆμ—­ μ‹œ κ±΄λ„ˆλœλ‹ˆλ‹€.

μ˜ˆμ‹œ:

screenshots/
β”œβ”€β”€ en-US/           # μ†ŒμŠ€ (κΈ°λ³Έ λ‘œμΌ€μΌ)
β”‚   β”œβ”€β”€ phone/
β”‚   β”‚   β”œβ”€β”€ 1.png
β”‚   β”‚   └── 2.png
β”‚   └── tablet/
β”‚       └── 1.png
β”œβ”€β”€ ko-KR/           # 생성됨
β”‚   β”œβ”€β”€ phone/
β”‚   β”‚   β”œβ”€β”€ 1.png
β”‚   β”‚   └── 2.png
β”‚   └── tablet/
β”‚       └── 1.png
└── ja-JP/           # 생성됨
    └── ...

#Gemini API μ„€μ •

localize-screenshots νˆ΄μ€ Gemini API ν‚€κ°€ ν•„μš”ν•©λ‹ˆλ‹€.

#Gemini API ν‚€ λ°œκΈ‰

  1. Google AI Studio에 접속
  2. Google κ³„μ •μœΌλ‘œ 둜그인
  3. "Create API Key" 클릭
  4. μƒμ„±λœ API ν‚€ 볡사
  5. μ€‘μš”: Google Cloud Consoleμ—μ„œ 결제 계정을 μ—°κ²°ν•΄μ•Ό Imagen API μ‚¬μš© κ°€λŠ₯

#μ„€μ • 방법

~/.config/pabal-mcp/config.json에 μΆ”κ°€:

{
  "dataDir": "/path/to/your/project",
  "gemini": {
    "apiKey": "your-gemini-api-key"
  }
}

λ˜λŠ” GEMINI_API_KEY ν™˜κ²½λ³€μˆ˜λ₯Ό 섀정해도 λ©λ‹ˆλ‹€.


#ν•„λ“œ μ œν•œ μ°Έμ‘°

#Apple App Store

ν•„λ“œμ œν•œ
μ•± 이름≀30자
λΆ€μ œλͺ©β‰€30자
ν‚€μ›Œλ“œβ‰€100자
ν”„λ‘œλͺ¨μ…˜ ν…μŠ€νŠΈβ‰€170자
μ„€λͺ…≀4000자
μƒˆλ‘œμš΄ κΈ°λŠ₯≀4000자

#Google Play

ν•„λ“œμ œν•œ
제λͺ©β‰€50자 (≀30자 ꢌμž₯)
κ°„λ‹¨ν•œ μ„€λͺ…≀80자
전체 μ„€λͺ…≀4000자
μΆœμ‹œ λ…ΈνŠΈβ‰€500자