Firebase App Distribution

Firebase App Distribution์„ ์‚ฌ์šฉํ•˜๋ฉด ์•ฑ์„ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ํ…Œ์Šคํ„ฐ์— ์‰ฝ๊ฒŒ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ…Œ์Šคํ„ฐ ๊ธฐ๊ธฐ์— ์•ฑ์„ ๋น ๋ฅด๊ฒŒ ์ œ๊ณตํ•˜์—ฌ ์•ฑ์— ๋Œ€ํ•œ ์˜๊ฒฌ์„ ์กฐ๊ธฐ์— ์ž์ฃผ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์•ฑ์—์„œ Crashlytics๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ชจ๋“  ๋นŒ๋“œ์˜ ์•ˆ์ •์„ฑ ์ธก์ •ํ•ญ๋ชฉ์„ ์ž๋™์œผ๋กœ ์–ป๊ฒŒ ๋˜๋ฏ€๋กœ ์ถœ์‹œ ์‹œ๊ธฐ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


์‹œ์ž‘ํ•  ์ค€๋น„๊ฐ€ ๋˜์…จ๋‚˜์š”?

iOS ์•ฑ์„ ๋ฐฐํฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ด…๋‹ˆ๋‹ค.

Firebase Console Firebase CLI fastlane

REST API

Android ์•ฑ์„ ๋ฐฐํฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ด…๋‹ˆ๋‹ค.

Firebase Console Firebase CLI fastlane Gradle REST API

์ฃผ์š” ๊ธฐ๋Šฅ

ํฌ๋กœ์Šค ํ”Œ๋žซํผ ๊ฐ™์€ ์œ„์น˜์—์„œ iOS ๋ฐ Android ์ถœ์‹œ ์ „ ๋ฐฐํฌ๋ฅผ ๋ชจ๋‘ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
๋น ๋ฅธ ๋ฐฐํฌ SDK๋ฅผ ์„ค์น˜ํ•  ํ•„์š” ์—†์ด ์‹ ์†ํ•œ ์˜จ๋ณด๋”ฉ๊ณผ ์ธ์Šคํ„ดํŠธ ์•ฑ ๋ฐฐํฌ๋กœ ํ…Œ์Šคํ„ฐ์—๊ฒŒ ์‚ฌ์ „ ์ฒดํ—˜ํŒ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
์›Œํฌํ”Œ๋กœ์— ์ ํ•ฉ Firebase Console, Firebase ๋ช…๋ น์ค„ ์ธํ„ฐํŽ˜์ด์Šค(CLI) ๋„๊ตฌ, fastlane ๋˜๋Š” Gradle(Android)์„ ์‚ฌ์šฉํ•˜์—ฌ ๋นŒ๋“œ๋ฅผ ๋ฐฐํฌํ•ฉ๋‹ˆ๋‹ค. CLI๋ฅผ ์ง€์†์  ํ†ตํ•ฉ(CI) ์ž‘์—…์— ํ†ตํ•ฉํ•˜์—ฌ ๋ฐฐํฌ๋ฅผ ์ž๋™ํ™”ํ•ฉ๋‹ˆ๋‹ค.
ํ…Œ์Šคํ„ฐ ๊ด€๋ฆฌ ํ…Œ์ŠคํŒ… ํŒ€์„ ๊ทธ๋ฃน์œผ๋กœ ๊ตฌ์„ฑํ•˜์—ฌ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ์˜จ๋ณด๋”ฉ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋‹จ๊ณ„๋ณ„๋กœ ์„ค๋ช…ํ•˜๋Š” ์ด๋ฉ”์ผ ์ดˆ๋Œ€๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ƒˆ ํ…Œ์Šคํ„ฐ๋ฅผ ๊ฐ„ํŽธํ•˜๊ฒŒ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ํ…Œ์ŠคํŒ… ์ดˆ๋Œ€๋ฅผ ์ˆ˜๋ฝํ•˜๊ณ  ์•ฑ์„ ๋‹ค์šด๋กœ๋“œํ–ˆ๋Š”์ง€ ๋“ฑ ํŠน์ • ๋ฒ„์ „์˜ ์•ฑ์— ๋Œ€ํ•œ ๊ฐ ํ…Œ์Šคํ„ฐ์˜ ์ƒํƒœ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ํ…Œ์Šคํ„ฐ๋กœ๋ถ€ํ„ฐ ๋ณด๋‹ค ์‰ฝ๊ฒŒ ์ถœ์‹œ ์ „ ์•ฑ์— ๋Œ€ํ•œ ์˜๊ฒฌ์„ ์ˆ˜์ง‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ธ์•ฑ ์˜๊ฒฌ์„ ์‚ฌ์šฉ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
Android App Bundle๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉ Google Play์—์„œ Android App Bundle์˜ ํ…Œ์Šคํ„ฐ์—๊ฒŒ ์ถœ์‹œ ๋ฒ„์ „์„ ๋ฐฐํฌํ•ฉ๋‹ˆ๋‹ค. App Distribution์€ Google Play์˜ ๋‚ด๋ถ€ ์•ฑ ๊ณต์œ  ์„œ๋น„์Šค์™€ ํ†ตํ•ฉ๋˜์–ด ์•ฑ ํ…Œ์ŠคํŠธ ๋ฐ ์ถœ์‹œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๊ฐ„์†Œํ™”๋ฉ๋‹ˆ๋‹ค.
Crashlytics์™€ ํ•จ๊ป˜ ์ž‘๋™ Crashlytics์™€ ํ•จ๊ป˜ ์ž‘๋™ํ•˜๋ฉด ํ…Œ์ŠคํŠธ ๋ฐฐํฌ ์•ˆ์ •์„ฑ์— ๋Œ€ํ•œ ์œ ์šฉํ•œ ์ •๋ณด๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ตฌํ˜„ ๊ฒฝ๋กœ ์˜ˆ์‹œ

์ตœ์‹  ์ถœ์‹œ ์ „ ๋นŒ๋“œ ์—…๋กœ๋“œ ๋จผ์ € Firebase Console, fastlane, Gradle ๋˜๋Š” CLI ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ตœ์‹  APK, AAB ๋˜๋Š” IPA๋ฅผ App Distribution์— ์—…๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.
ํ…Œ์Šคํ„ฐ ์ดˆ๋Œ€ ๊ทธ๋Ÿฐ ๋‹ค์Œ ์•ฑ์„ ํ…Œ์ŠคํŠธํ•  ํ…Œ์Šคํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ํ…Œ์Šคํ„ฐ๋Š” ์˜จ๋ณด๋”ฉ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋‹จ๊ณ„๋ณ„๋กœ ์„ค๋ช…ํ•˜๋Š” ์ด๋ฉ”์ผ์„ ๋ฐ›๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
์˜๊ฒฌ ๋ฐ›๊ธฐ ํ…Œ์Šคํ„ฐ์˜ ์˜๊ฒฌ์„ ๋ฐ›๊ณ  ์•ˆ์ •์„ฑ ๋ฐ์ดํ„ฐ๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๋ฉฐ ์•ฑ์„ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค.
์ตœ์‹  ๋ฒ ํƒ€ ๋นŒ๋“œ ์ถœ์‹œ ์ƒˆ ๋นŒ๋“œ ํ…Œ์ŠคํŠธ ์ค€๋น„๊ฐ€ ์™„๋ฃŒ๋  ๋•Œ๋งˆ๋‹ค App Distribution์— ์—…๋กœ๋“œํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ํ…Œ์Šคํ„ฐ๋Š” ์ƒˆ ๋นŒ๋“œ๋ฅผ ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์•Œ๋ฆผ์„ ๋ฐ›์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ ๋‹จ๊ณ„

๊ถŒ์žฅ์‚ฌํ•ญ ์•Œ์•„๋ณด๊ธฐ

iOS ์•ฑ์„ ๋ฐฐํฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ด…๋‹ˆ๋‹ค.

Firebase Console Firebase CLI fastlane REST API

Android ์•ฑ์„ ๋ฐฐํฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ด…๋‹ˆ๋‹ค.

Firebase Console Firebase CLI fastlane Gradle REST API

App Distribution์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋‹ค์Œ Codelabs๋ฅผ ํ™•์ธํ•˜์„ธ์š”.