#๋ฆด๋ฆฌ์Šค ๊ด€๋ฆฌ ๋„๊ตฌ

App Store Connect์™€ Google Play Console์—์„œ ์•ฑ ๋ฒ„์ „๊ณผ ๋ฆด๋ฆฌ์Šค ๋…ธํŠธ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.

#release-check-versions

App Store/Google Play์—์„œ ์ตœ์‹  ๋ฒ„์ „์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

#ํŒŒ๋ผ๋ฏธํ„ฐ

ํŒŒ๋ผ๋ฏธํ„ฐํƒ€์ž…ํ•„์ˆ˜๊ธฐ๋ณธ๊ฐ’์„ค๋ช…
appstring์กฐ๊ฑด๋ถ€-๋“ฑ๋ก๋œ ์•ฑ slug
bundleIdstring์กฐ๊ฑด๋ถ€-App Store ๋ฒˆ๋“ค ID
packageNamestring์กฐ๊ฑด๋ถ€-Google Play ํŒจํ‚ค์ง€๋ช…
store"appStore" | "googlePlay" | "both"์•„๋‹ˆ์˜ค"both"๋Œ€์ƒ ์Šคํ† ์–ด

#์‚ฌ์šฉ ์˜ˆ์‹œ

// ๋ชจ๋“  ์Šคํ† ์–ด ํ™•์ธ
{ "app": "myapp" }

// App Store๋งŒ ํ™•์ธ
{ "app": "myapp", "store": "appStore" }

// ์ง์ ‘ ์‹๋ณ„์ž ์‚ฌ์šฉ
{ "bundleId": "com.example.app" }

#์‘๋‹ต

๐ŸŽ **App Store**
   Latest: 1.2.0 (READY_FOR_DISTRIBUTION)
   Editable: 1.3.0 (PREPARE_FOR_SUBMISSION)

๐Ÿค– **Google Play**
   Production: 1.2.0 (versionCode: 120)

#release-create

App Store/Google Play์— ์ƒˆ ๋ฒ„์ „์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

#ํŒŒ๋ผ๋ฏธํ„ฐ

ํŒŒ๋ผ๋ฏธํ„ฐํƒ€์ž…ํ•„์ˆ˜๊ธฐ๋ณธ๊ฐ’์„ค๋ช…
appstring์กฐ๊ฑด๋ถ€-๋“ฑ๋ก๋œ ์•ฑ slug
bundleIdstring์กฐ๊ฑด๋ถ€-App Store ๋ฒˆ๋“ค ID
packageNamestring์กฐ๊ฑด๋ถ€-Google Play ํŒจํ‚ค์ง€๋ช…
versionstring์•„๋‹ˆ์˜ค-๋ฒ„์ „ ๋ฌธ์ž์—ด (์˜ˆ: "1.2.0"). ๋ฏธ์ œ๊ณต์‹œ ํ˜„์žฌ ๋ฒ„์ „ ํ‘œ์‹œ
store"appStore" | "googlePlay" | "both"์•„๋‹ˆ์˜ค"both"๋Œ€์ƒ ์Šคํ† ์–ด
versionCodesnumber[]์กฐ๊ฑด๋ถ€-Google Play์— ํ•„์š”

#์‚ฌ์šฉ ์˜ˆ์‹œ

// ํ˜„์žฌ ๋ฒ„์ „ ๋จผ์ € ํ™•์ธ (version ๋ฏธ์ œ๊ณต)
{ "app": "myapp" }

// App Store ๋ฒ„์ „ ์ƒ์„ฑ
{ "app": "myapp", "store": "appStore", "version": "1.3.0" }

// Google Play ๋ฒ„์ „ ์ƒ์„ฑ (version codes ํฌํ•จ)
{
  "app": "myapp",
  "store": "googlePlay",
  "version": "1.3.0",
  "versionCodes": [130, 131]
}

// ๋ชจ๋“  ์Šคํ† ์–ด์— ์ƒ์„ฑ
{
  "app": "myapp",
  "version": "1.3.0",
  "versionCodes": [130]
}

#์‘๋‹ต

๐Ÿ“ฆ Version Creation Results:
โœ… App Store version 1.3.0 created (PREPARE_FOR_SUBMISSION)
โœ… Google Play production draft created with versionCodes: 130, 131

์—๋Ÿฌ:

๐Ÿ“ฆ Version Creation Results:
โŒ App Store version creation failed: Version 1.3.0 already exists
โญ๏ธ  Skipping Google Play (no version codes provided)

#release-pull-notes

App Store/Google Play์—์„œ ๋ฆด๋ฆฌ์Šค ๋…ธํŠธ๋ฅผ ๊ฐ€์ ธ์™€ ๋กœ์ปฌ ์บ์‹œ์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

#ํŒŒ๋ผ๋ฏธํ„ฐ

ํŒŒ๋ผ๋ฏธํ„ฐํƒ€์ž…ํ•„์ˆ˜๊ธฐ๋ณธ๊ฐ’์„ค๋ช…
appstring์กฐ๊ฑด๋ถ€-๋“ฑ๋ก๋œ ์•ฑ slug
bundleIdstring์กฐ๊ฑด๋ถ€-App Store ๋ฒˆ๋“ค ID
packageNamestring์กฐ๊ฑด๋ถ€-Google Play ํŒจํ‚ค์ง€๋ช…
store"appStore" | "googlePlay" | "both"์•„๋‹ˆ์˜ค"both"๋Œ€์ƒ ์Šคํ† ์–ด
dryRunboolean์•„๋‹ˆ์˜คfalsetrue์ด๋ฉด ์ €์žฅ ์—†์ด ๊ฒฐ๊ณผ๋งŒ ์ถœ๋ ฅ

#์‚ฌ์šฉ ์˜ˆ์‹œ

// ๋ชจ๋“  ์Šคํ† ์–ด์—์„œ ๊ฐ€์ ธ์˜ค๊ธฐ
{ "app": "myapp" }

// Google Play๋งŒ ๊ฐ€์ ธ์˜ค๊ธฐ
{ "app": "myapp", "store": "googlePlay" }

// ๋ฏธ๋ฆฌ๋ณด๊ธฐ
{ "app": "myapp", "dryRun": true }

#๋ฐ์ดํ„ฐ ์ €์žฅ ์œ„์น˜

{dataDir}/.aso/pull/{slug}/
โ”œโ”€โ”€ app-store/
โ”‚   โ””โ”€โ”€ release-notes.json
โ””โ”€โ”€ google-play/
    โ””โ”€โ”€ release-notes.json

#์‘๋‹ต

โœ… Release notes pulled
   Google Play: 5 versions
   App Store: 3 versions

#release-update-notes

App Store/Google Play ๋ฒ„์ „์˜ ๋ฆด๋ฆฌ์Šค ๋…ธํŠธ(What's New)๋ฅผ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค.

#ํŒŒ๋ผ๋ฏธํ„ฐ

ํŒŒ๋ผ๋ฏธํ„ฐํƒ€์ž…ํ•„์ˆ˜๊ธฐ๋ณธ๊ฐ’์„ค๋ช…
appstring์กฐ๊ฑด๋ถ€-๋“ฑ๋ก๋œ ์•ฑ slug
bundleIdstring์กฐ๊ฑด๋ถ€-App Store ๋ฒˆ๋“ค ID
packageNamestring์กฐ๊ฑด๋ถ€-Google Play ํŒจํ‚ค์ง€๋ช…
store"appStore" | "googlePlay" | "both"์•„๋‹ˆ์˜ค"both"๋Œ€์ƒ ์Šคํ† ์–ด
versionIdstring์•„๋‹ˆ์˜ค์ž๋™ ๊ฐ์ง€App Store ๋ฒ„์ „ ID (ํŽธ์ง‘ ๊ฐ€๋Šฅํ•œ ๋ฒ„์ „ ์ž๋™ ๊ฐ์ง€)
whatsNewRecord<string, string>์กฐ๊ฑด๋ถ€-์–ธ์–ด๋ณ„ ๋ฆด๋ฆฌ์Šค ๋…ธํŠธ
textstring์กฐ๊ฑด๋ถ€-๋ชจ๋“  ์ง€์› ์–ธ์–ด๋กœ ๋ฒˆ์—ญํ•  ์›๋ณธ ํ…์ŠคํŠธ
sourceLocalestring์•„๋‹ˆ์˜ค"en-US"๋ฒˆ์—ญ ์›๋ณธ ์–ธ์–ด

์ฐธ๊ณ : whatsNew(๋ชจ๋“  ๋ฒˆ์—ญ) ๋˜๋Š” text(๋ฒˆ์—ญํ•  ์›๋ณธ)๋ฅผ ์ œ๊ณตํ•˜์„ธ์š”.

#์‚ฌ์šฉ ์˜ˆ์‹œ

์˜ต์…˜ 1: ๋ชจ๋“  ๋ฒˆ์—ญ ์ œ๊ณต

{
  "app": "myapp",
  "whatsNew": {
    "en-US": "Bug fixes and improvements",
    "ko": "๋ฒ„๊ทธ ์ˆ˜์ • ๋ฐ ๊ฐœ์„ ",
    "ja": "ใƒใ‚ฐไฟฎๆญฃใจๆ”นๅ–„"
  }
}

์˜ต์…˜ 2: ๋ฒˆ์—ญํ•  ์›๋ณธ ํ…์ŠคํŠธ ์ œ๊ณต

{
  "app": "myapp",
  "text": "Bug fixes and improvements",
  "sourceLocale": "en-US"
}

text ์‚ฌ์šฉ ์‹œ ๋„๊ตฌ๊ฐ€ ๋ฒˆ์—ญ ์š”์ฒญ์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค:

๐ŸŒ Translation Required

**Source Text** (en-US):
Bug fixes and improvements

**App Store Supported Locales** (3):
en-US, ko, ja

**Google Play Supported Locales** (3):
en-US, ko, ja

**Instructions**:
Please translate the text to all target locales and call this function
again with the `whatsNew` parameter containing all translations.

#์‘๋‹ต

๐Ÿ“ Release Notes Update Results:

**๐ŸŽ App Store:**
  โœ… Updated 3 locales
    โ€ข en-US: Bug fixes and improvements
    โ€ข ko: ๋ฒ„๊ทธ ์ˆ˜์ • ๋ฐ ๊ฐœ์„ 
    โ€ข ja: ใƒใ‚ฐไฟฎๆญฃใจๆ”นๅ–„

**๐Ÿค– Google Play:**
  โœ… Updated 3 locales
    โ€ข en-US: Bug fixes and improvements
    โ€ข ko: ๋ฒ„๊ทธ ์ˆ˜์ • ๋ฐ ๊ฐœ์„ 
    โ€ข ja: ใƒใ‚ฐไฟฎๆญฃใจๆ”นๅ–„

#๋ฒˆ์—ญ ํŒŒ์ดํ”„๋ผ์ธ

์ผ๋ถ€ ๋ฒˆ์—ญ๋งŒ ์ œ๊ณต๋œ ๊ฒฝ์šฐ ๋„๊ตฌ๊ฐ€ ๋ฒˆ์—ญ ํŒŒ์ดํ”„๋ผ์ธ์„ ์•ˆ๋‚ดํ•ฉ๋‹ˆ๋‹ค:

  1. 1๋‹จ๊ณ„: ์ œ๊ณต๋œ ํ…์ŠคํŠธ๊ฐ€ sourceLocale์ด ์•„๋‹ˆ๋ฉด ๋จผ์ € ์›๋ณธ ์–ธ์–ด๋กœ ๋ฒˆ์—ญ ์š”์ฒญ
  2. 2๋‹จ๊ณ„: ์›๋ณธ ์–ธ์–ด์—์„œ ๋ˆ„๋ฝ๋œ ๋ชจ๋“  ์ง€์› ์–ธ์–ด๋กœ ๋ฒˆ์—ญ ์š”์ฒญ
  3. ์ตœ์ข…: ๋ชจ๋“  ๋ฒˆ์—ญ์ด ์ œ๊ณต๋˜๋ฉด ์Šคํ† ์–ด ์—…๋ฐ์ดํŠธ

#๋ฒ„์ „ ์ƒํƒœ

#App Store

์ƒํƒœ์„ค๋ช…
PREPARE_FOR_SUBMISSIONํŽธ์ง‘ ๊ฐ€๋Šฅ, ์•„์ง ์ œ์ถœ๋˜์ง€ ์•Š์Œ
WAITING_FOR_REVIEW์ œ์ถœ๋จ, ์‹ฌ์‚ฌ ๋Œ€๊ธฐ ์ค‘
IN_REVIEW์‹ฌ์‚ฌ ์ค‘
PENDING_DEVELOPER_RELEASE์Šน์ธ๋จ, ์ˆ˜๋™ ์ถœ์‹œ ๋Œ€๊ธฐ ์ค‘
READY_FOR_DISTRIBUTIONApp Store์— ๋ฐฐํฌ๋จ
REJECTED์‹ฌ์‚ฌ ๊ฑฐ๋ถ€๋จ

#Google Play

ํŠธ๋ž™์„ค๋ช…
internal๋‚ด๋ถ€ ํ…Œ์ŠคํŠธ ํŠธ๋ž™
alpha๋น„๊ณต๊ฐœ ํ…Œ์ŠคํŠธ ํŠธ๋ž™
beta๊ณต๊ฐœ ํ…Œ์ŠคํŠธ ํŠธ๋ž™
productionPlay ์Šคํ† ์–ด์— ๋ฐฐํฌ๋จ

#์›Œํฌํ”Œ๋กœ์šฐ ์˜ˆ์‹œ

#์ „์ฒด ๋ฆด๋ฆฌ์Šค ์›Œํฌํ”Œ๋กœ์šฐ

  1. ํ˜„์žฌ ๋ฒ„์ „ ํ™•์ธ:

    { "app": "myapp" }
    
  2. ์ƒˆ ๋ฒ„์ „ ์ƒ์„ฑ:

    {
      "app": "myapp",
      "version": "1.3.0",
      "versionCodes": [130]
    }
    
  3. ๋ฆด๋ฆฌ์Šค ๋…ธํŠธ ์—…๋ฐ์ดํŠธ:

    {
      "app": "myapp",
      "whatsNew": {
        "en-US": "โ€ข New feature A\nโ€ข Bug fixes",
        "ko": "โ€ข ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ A\nโ€ข ๋ฒ„๊ทธ ์ˆ˜์ •"
      }
    }
    
  4. ํ™•์ธ:

    { "app": "myapp" }
    

#์ฐธ๊ณ 

  • apps-add - ๋ฆด๋ฆฌ์Šค ๋„๊ตฌ ์‚ฌ์šฉ ์ „ ์•ฑ ๋“ฑ๋ก
  • aso-push - ์ „์ฒด ASO ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์—…๋ฐ์ดํŠธ