ํ”ผ๋“œ๋กœ ๋Œ์•„๊ฐ€๊ธฐ
Flutter + Firebase Cloud Functions: Complete Guide with Real Examples ๐Ÿš€
Dev.toDev.to
Backend

Serverless Backend ๊ธฐ๋ฐ˜์˜ ๋ณด์•ˆ ๊ฐ•ํ™” ๋ฐ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ๋ถ„๋ฆฌ ์„ค๊ณ„

Flutter + Firebase Cloud Functions: Complete Guide with Real Examples ๐Ÿš€

Codexlancers2026๋…„ 5์›” 13์ผ5๋ถ„beginner

Context

Frontend ์ค‘์‹ฌ์˜ ๋กœ์ง ์ฒ˜๋ฆฌ๋กœ ์ธํ•œ ๋ณด์•ˆ ์ทจ์•ฝ์ ๊ณผ API Key ๋…ธ์ถœ ์œ„ํ—˜ ์กด์žฌ. ์„œ๋ฒ„ ๊ด€๋ฆฌ ๋น„์šฉ ๋ฐ ์ธํ”„๋ผ ์šด์˜ ๊ณต์ˆ˜๋ฅผ ์ตœ์†Œํ™”ํ•˜๋ฉด์„œ ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ๋ฐฑ์—”๋“œ ๊ตฌ์กฐ ํ•„์š”.

Technical Solution

  • Client-side ์‹ ๋ขฐ ๋ฐฐ์ œ๋ฅผ ํ†ตํ•œ Backend Logic ๊ฒฉ๋ฆฌ ๊ตฌ์กฐ ์„ค๊ณ„
  • Firestore Event-driven Trigger๋ฅผ ํ™œ์šฉํ•œ ๋ฐ์ดํ„ฐ ๋™๊ธฐํ™” ๋ฐ ์ž๋™ํ™” ์ฒ˜๋ฆฌ
  • HTTPS Callable Functions ๋„์ž…์„ ํ†ตํ•œ API Key ์€๋‹‰ ๋ฐ ์™ธ๋ถ€ API ์—ฐ๋™ ๋ณด์•ˆ ๊ฐ•ํ™”
  • Role-based Access Control ์ ์šฉ์œผ๋กœ ์‚ฌ์šฉ์ž ๊ถŒํ•œ ๊ฒ€์ฆ ๋กœ์ง์˜ ์„œ๋ฒ„์ธก ์ค‘์•™ ์ง‘์ค‘ํ™”
  • Firestore FieldValue.increment ํ™œ์šฉ์„ ํ†ตํ•œ ์›์ž์  ๋ฐ์ดํ„ฐ ์—…๋ฐ์ดํŠธ๋กœ ๋™์‹œ์„ฑ ์ œ์–ด

1. Payment ๊ฒ€์ฆ ๋ฐ ๋ฏผ๊ฐ ์ •๋ณด ์ฒ˜๋ฆฌ ๋กœ์ง์ด Frontend์— ์œ„์น˜ํ•˜๋Š”์ง€ ํ™•์ธ

2. ์™ธ๋ถ€ API Key๊ฐ€ Client ์ฝ”๋“œ์— ํ•˜๋“œ์ฝ”๋”ฉ ๋˜์—ˆ๋Š”์ง€ ์ ๊ฒ€ ๋ฐ Environment Config ์ด์ „

3. Firestore ์“ฐ๊ธฐ ์ž‘์—…์ด ๋‹ค์‹œ Function์„ ํŠธ๋ฆฌ๊ฑฐํ•˜์—ฌ ๋ฐœ์ƒํ•˜๋Š” Infinite Loop ๊ฐ€๋Šฅ์„ฑ ๊ฒ€ํ† 

4. Cloud Functions ๋‚ด context.auth ์ฒดํฌ๋ฅผ ํ†ตํ•œ ์‚ฌ์šฉ์ž ์ธ์ฆ ์—ฌ๋ถ€ ํ™•์ธ ์ ˆ์ฐจ ์ถ”๊ฐ€

์›๋ฌธ ์ฝ๊ธฐ