#μ•± 관리 도ꡬ

App Store Connect와 Google Play Consoleμ—μ„œ 앱을 λ“±λ‘ν•˜κ³  κ΄€λ¦¬ν•˜λŠ” λ„κ΅¬μž…λ‹ˆλ‹€.

#apps-init

μŠ€ν† μ–΄ APIμ—μ„œ 앱을 가져와 μžλ™ λ“±λ‘ν•©λ‹ˆλ‹€.

#νŒŒλΌλ―Έν„°

νŒŒλΌλ―Έν„°νƒ€μž…ν•„μˆ˜κΈ°λ³Έκ°’μ„€λͺ…
store"appStore" | "googlePlay"μ•„λ‹ˆμ˜€"appStore"λŒ€μƒ μŠ€ν† μ–΄
packageNamestring쑰건뢀-storeκ°€ "googlePlay"일 λ•Œ ν•„μˆ˜

#μ‚¬μš© μ˜ˆμ‹œ

// App Store μ•± μžλ™ 등둝
{ "store": "appStore" }

// Google Play μ•± 등둝 (packageName ν•„μˆ˜)
{ "store": "googlePlay", "packageName": "com.example.app" }

#λ™μž‘ 방식

  • App Store: μΆœμ‹œλœ λͺ¨λ“  앱을 μ‘°νšŒν•˜μ—¬ μžλ™ 등둝
  • Google Play: μ•± λͺ©λ‘ 쑰회λ₯Ό μ§€μ›ν•˜μ§€ μ•ŠμœΌλ―€λ‘œ packageName을 λͺ…μ‹œν•΄μ•Ό 함
  • 각 앱에 λŒ€ν•΄ bundleId/packageName의 λ§ˆμ§€λ§‰ λΆ€λΆ„μœΌλ‘œ slug 생성 (예: com.example.myapp β†’ myapp)
  • 두 μŠ€ν† μ–΄κ°€ μ„€μ •λœ 경우, App Store 앱에 λŒ€ν•΄ Google Play 쑴재 여뢀도 확인

#응닡

πŸ“± **App Setup Complete**

βœ… **Registered** (2):
  β€’ My App (🍎+πŸ€–) β†’ slug: "myapp"
    🍎 App Store: en-US, ko, ja
    πŸ€– Google Play: en-US, ko, ja

⏭️ **Skipped** (1):
  β€’ Other App (com.example.other) - already registered

#apps-add

bundleId λ˜λŠ” packageName으둜 단일 앱을 λ“±λ‘ν•©λ‹ˆλ‹€.

#νŒŒλΌλ―Έν„°

νŒŒλΌλ―Έν„°νƒ€μž…ν•„μˆ˜κΈ°λ³Έκ°’μ„€λͺ…
identifierstring예-μ•± μ‹λ³„μž (bundleId λ˜λŠ” packageName)
slugstringμ•„λ‹ˆμ˜€μžλ™ μƒμ„±μ•±μ˜ μ»€μŠ€ν…€ slug
store"appStore" | "googlePlay" | "both"μ•„λ‹ˆμ˜€"both"검색할 μŠ€ν† μ–΄

#μ‚¬μš© μ˜ˆμ‹œ

// μ•± 등둝 (λͺ¨λ“  μŠ€ν† μ–΄ 검색)
{ "identifier": "com.example.app" }

// μ»€μŠ€ν…€ slug둜 등둝
{ "identifier": "com.example.app", "slug": "myapp" }

// Google Play만 등둝
{ "identifier": "com.example.app", "store": "googlePlay" }

#λ™μž‘ 방식

  • μ§€μ •λœ μŠ€ν† μ–΄μ—μ„œ μ•± 검색
  • slugκ°€ μ œκ³΅λ˜μ§€ μ•ŠμœΌλ©΄ identifier의 λ§ˆμ§€λ§‰ λΆ€λΆ„μœΌλ‘œ μžλ™ 생성
  • 각 μŠ€ν† μ–΄μ˜ 지원 μ–Έμ–΄ 정보λ₯Ό 가져와 μ €μž₯
  • 앱이 이미 μ‘΄μž¬ν•˜λ©΄ μ–Έμ–΄ 정보 μ—…λ°μ΄νŠΈ

#응닡

μ‹ κ·œ 등둝:

βœ… App registration complete (🍎+πŸ€–)

**Registration Info:**
β€’ Slug: `myapp`
β€’ Name: My App
β€’ App Store: com.example.app (ID: 123456789)
β€’ Google Play: com.example.app

**Supported Languages:**
  β€’ App Store locales: en-US, ko, ja
  β€’ Google Play locales: en-US, ko, ja

**Search Results:**
  β€’ 🍎 App Store: βœ… Found (My App) (3 locales)
  β€’ πŸ€– Google Play: βœ… Found (My App) (3 locales)

You can now reference this app in other tools using the `app: "myapp"` parameter.

이미 등둝됨:

⏭️ App is already registered.

β€’ Slug: `myapp`
β€’ Name: My App
β€’ App Store: βœ… com.example.app
β€’ Google Play: βœ… com.example.app

λ“±λ‘λœ 앱을 κ²€μƒ‰ν•©λ‹ˆλ‹€.

#νŒŒλΌλ―Έν„°

νŒŒλΌλ―Έν„°νƒ€μž…ν•„μˆ˜κΈ°λ³Έκ°’μ„€λͺ…
querystringμ•„λ‹ˆμ˜€-검색어 (slug, bundleId, packageName, 이름). λΉ„μ–΄μžˆμœΌλ©΄ λͺ¨λ“  μ•± λ°˜ν™˜
store"all" | "appStore" | "googlePlay"μ•„λ‹ˆμ˜€"all"μŠ€ν† μ–΄ ν•„ν„°

#μ‚¬μš© μ˜ˆμ‹œ

// λͺ¨λ“  λ“±λ‘λœ μ•± 쑰회
{}

// 이름 λ˜λŠ” slug둜 검색
{ "query": "myapp" }

// μŠ€ν† μ–΄λ‘œ 필터링
{ "store": "appStore" }

// 검색어와 μŠ€ν† μ–΄ ν•„ν„° ν•¨κ»˜ μ‚¬μš©
{ "query": "example", "store": "googlePlay" }

#응닡

πŸ“‹ Registered app list: 2

πŸ“± **My App** (`myapp`)
   🍎 App Store: `com.example.myapp`
      App ID: 123456789
   πŸ€– Google Play: `com.example.myapp`

πŸ“± **Other App** (`other`)
   🍎 App Store: `com.example.other`
      App ID: 987654321

κ²°κ³Ό μ—†μŒ:

❌ No apps found matching "query".

πŸ’‘ Register apps using apps-add or apps-init tools.

#λ“±λ‘λœ μ•± μ €μž₯μ†Œ

앱은 ~/.config/pabal-mcp/registered-apps.json에 μ €μž₯λ©λ‹ˆλ‹€:

{
  "apps": [
    {
      "slug": "myapp",
      "name": "My App",
      "appStore": {
        "bundleId": "com.example.myapp",
        "appId": "123456789",
        "name": "My App",
        "supportedLocales": ["en-US", "ko", "ja"]
      },
      "googlePlay": {
        "packageName": "com.example.myapp",
        "name": "My App",
        "supportedLocales": ["en-US", "ko", "ja"]
      }
    }
  ]
}

#μ°Έκ³ 

  • auth-check - μŠ€ν† μ–΄ 자격 증λͺ… 확인
  • aso-pull - λ“±λ‘λœ μ•±μ˜ ASO 데이터 κ°€μ Έμ˜€κΈ°
Apps - Pabal MCP | Pabal | Pabal