๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
728x90
๋ฐ˜์‘ํ˜•

๐Ÿ“š Database/Firebase20

[Firebase] ํฌ๋ž˜์‰ฌ๋ฆฌํ‹ฑ์Šค ์‚ฌ์šฉํ•ด๋ณด๊ธฐ (Firebase Crashlytics) ์•ˆ๋…•ํ•˜์„ธ์š” Foma๐Ÿ‘Ÿ ์ž…๋‹ˆ๋‹ค! ์˜ค๋Š˜์€ ์•ฑ์ด ์–ด๋””์„œ ์ถฉ๋Œ๋‚˜๋Š”์ง€ ์–ด๋””์„œ ๋น„์ •์ƒ์ ์œผ๋กœ ์ข…๋ฃŒ๋˜๋Š”์ง€ ๋“ฑ์„ ์ž์„ธํ•˜๊ฒŒ ์„ค๋ช…ํ•ด์ฃผ๋Š” ํŒŒ์ด์–ด๋ฒ ์ด์Šค์˜ ํฌ๋ž˜์‰ฌ๋ฆฌํ‹ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฒ•์— ๋Œ€ํ•ด์„œ ์ •๋ฆฌํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ฐ”๋กœ ์‹œ์ž‘ํ• ๊ฒŒ์š”~ Crashlytics๋ž€? Firebase์—์„œ Crashlytics๋ฅผ ์ด๋ ‡๊ฒŒ ์†Œ๊ฐœํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. "Firebase Crashlytics๋Š” ๊ฐ€๋ฒผ์šด ์‹ค์‹œ๊ฐ„ ์˜ค๋ฅ˜ ๋ณด๊ณ  ๋„๊ตฌ๋กœ ์•ฑ ํ’ˆ์งˆ์„ ์ €ํ•˜ํ•˜๋Š” ์•ˆ์ •์„ฑ ๋ฌธ์ œ๋ฅผ ์ถ”์ ํ•˜๊ณ  ์šฐ์„ ์ˆœ์œ„๋ฅผ ์ง€์ •ํ•˜๊ณ  ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค. Crashlytics๋Š” ๋น„์ •์ƒ ์ข…๋ฃŒ๋ฅผ ์ง€๋Šฅ์ ์œผ๋กœ ๊ทธ๋ฃนํ™”ํ•˜๊ณ  ์ด๋Ÿฌํ•œ ๋น„์ •์ƒ ์ข…๋ฃŒ๋ฅผ ์œ ๋ฐœํ•˜๋Š” ์ƒํ™ฉ์„ ๊ฐ•์กฐํ•˜์—ฌ ๋ณด์—ฌ์ฃผ๋ฏ€๋กœ ๋ฌธ์ œํ•ด๊ฒฐ ์‹œ๊ฐ„์ด ์ ˆ์•ฝ๋ฉ๋‹ˆ๋‹ค. ํŠน์ • ๋น„์ •์ƒ ์ข…๋ฃŒ๊ฐ€ ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž์—๊ฒŒ ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š”์ง€ ํ™•์ธํ•ด ๋ณด์„ธ์š”. ๋ฌธ์ œ์˜ ์‹ฌ๊ฐ๋„๊ฐ€ ๊ธ‰๊ฒฉํžˆ ์ฆ.. 2021. 8. 9.
[Firebase] ์ปฌ๋ ‰์…˜๊ทธ๋ฃน ์‚ฌ์šฉํ•ด๋ณด๊ธฐ(Firestore CollectionGroup) ์•ˆ๋…•ํ•˜์„ธ์š” Foma๐Ÿ‘Ÿ ์ž…๋‹ˆ๋‹ค! ์˜ค๋Š˜์€ Firestore์—์„œ ์—ฌ๋Ÿฌ ํ•˜์œ„ ์ปฌ๋ ‰์…˜์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„์˜ฌ๋•Œ ์œ ์šฉํ•œ ์ปฌ๋ ‰์…˜ ๊ทธ๋ฃน์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ฐ”๋กœ ์‹œ์ž‘ํ• ๊ฒŒ์š”~ ์ปฌ๋ ‰์…˜ ๊ทธ๋ฃน์ด๋ž€? ์•„์ด๋””๊ฐ€ ๊ฐ™์€ ์ปฌ๋ ‰์…˜์„ ๋ชจ์•„๋†“์€ ์ปฌ๋ ‰์…˜์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด User ์ปฌ๋ ‰์…˜์ด ์žˆ๊ณ  ํ•˜์œ„ ์ปฌ๋ ‰์…˜์œผ๋กœ ์œ ์ €๋“ค์˜ ๋ฆฌ๋ทฐ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” Review์ปฌ๋ ‰์…˜์ด ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ• ๊ฒŒ์š” User - user1 - Review User - user2 - Review ... ๋“ฑ์œผ๋กœ ์œ ์ €๋งˆ๋‹ค ๋ฆฌ๋ทฐ ํ•˜์œ„ ์ปฌ๋ ‰์…˜ ๊ฐ€์ง€๊ฒŒ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋งŒ์•ฝ์— ๋ชจ๋“  ์œ ์ €๋“ค์˜ ๋ฆฌ๋ทฐ ์ •๋ณด๋ฅผ ๊ฐ€์ง€๊ณ  ์˜ค๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ• ๊นŒ์š”? ๋ณดํ†ต Firestore์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ฌ๋• ์•„๋ž˜์™€ ๊ฐ™์ด ์ •ํ™•ํ•œ ๋ฐ์ดํ„ฐ ๊ฒฝ๋กœ๋ฅผ ์ž…๋ ฅํ•ด์ฃผ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ๋˜๋ฉด ์œ ์ €๋“ค ์ˆ˜๋งŒํผ getDocuments ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•ด์•ผํ•ฉ.. 2021. 7. 15.
[Firebase] addSnapshotListener๋Š” ํ˜ธ์ถœ๋ ๋•Œ ๋ชจ๋“  ๋ฌธ์„œ๋ฅผ ์ฝ์„๊นŒ? ์•ˆ๋…•ํ•˜์„ธ์š” Foma ๐Ÿ‘Ÿ ์ž…๋‹ˆ๋‹ค! ์š”์ƒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ์–ด์„œ ๋ธ”๋กœ๊ทธ ํฌ์ŠคํŒ…์„ ๊ณ„์† ๋ฏธ๋ค˜๋„ค์š”.. ์˜ค๋Š˜์€ Firestore์—์„œ ๋ฐ์ดํ„ฐ์˜ ๋ณ€๊ฒฝ์„ ๊ฐ์ง€ํ•  ์ˆ˜ ์žˆ๋Š” addSnapshotListener์„ ์‚ฌ์šฉํ•  ๋•Œ snapshot์˜ documents์˜ ๊ฐฏ์ˆ˜๋ฅผ ์„ธ์–ด๋ณด๋ฉด ์ „์ฒด ๊ฐฏ์ˆ˜๊ฐ€ ๋‚˜์˜ค๋”๋ผ๊ตฌ์š”. ๊ทธ๋ž˜์„œ ๋ฌธ๋“ "๋ฌธ์„œ๊ฐ€ ํ•˜๋‚˜๋งŒ ๋ณ€๊ฒฝ๋ผ๋„ ์ปฌ๋ ‰์…˜์˜ ๋ชจ๋“  ๋ฌธ์„œ๋ฅผ ์ฝ๋Š” ๊ฑด๊ฐ€?" ๋ผ๋Š” ์˜๋ฌธ์ด ๋“ค์–ด์„œ ์‹คํ—˜ํ•ด๋ณธ ๊ฒฐ๊ณผ๋ฅผ ์ •๋ฆฌํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ”๋กœ ์‹œ์ž‘ํ• ๊ฒŒ์š”~ Firestore ํŒŒ์ด์–ด๋ฒ ์ด์Šค ๊ณต์‹ ๋ฌธ์„œ์—๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด ์ถ”๊ฐ€,์ˆ˜์ •,์‚ญ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ๋•Œ๋งˆ๋‹ค ์ฝ๋Š” ํšŸ์ˆ˜๊ฐ€ ์ฆ๊ฐ€ํ•œ๋‹ค๊ณ  ๋‚˜์™ธ์žˆ์Šต๋‹ˆ๋‹ค. (์ €๋Š”.. ์ด๊ฑธ ๋ด๋„ ์ „์ฒด ๋ฌธ์„œ๋ฅผ ์ฝ๋Š”๊ฑด์ง€ ์•„๋‹ˆ๋ฉด ๋ณ€๊ฒฝ๋œ ๊ฒƒ๋งŒ ์ฝ๋Š”๊ฑด์ง€ ์ •ํ™•ํžˆ ์•Œ ์ˆ˜๊ฐ€ ์—†๋”๋ผ๊ตฌ์š”.) ๋ฐ์ดํ„ฐ๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด Test๋ผ๋Š” ์ปฌ๋ ‰์…˜์— num.. 2021. 7. 13.
[Firebase] Firebase ์ฟผ๋ฆฌ ์•Œ์•„๋ณด๊ธฐ(FireStore Query) ์•ˆ๋…•ํ•˜์„ธ์š” Foma ๐Ÿ‘Ÿ ์ž…๋‹ˆ๋‹ค! ์˜ค๋Š˜์€ ํŒŒ์ด์–ด์Šคํ† ์–ด์—์„œ ์›ํ•˜๋Š” ์กฐ๊ฑด์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋Š” ์—ฌ๋Ÿฌ ์ฟผ๋ฆฌ๋ฌธ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค! WhereField isEqualTo ํ•„๋“œ์— ํฌ๋งˆ๋ผ๋Š” ๊ฐ’๊ณผ ๊ฐ™์€ ๋ฌธ์„œ๊ฐ€ ์ „๋ถ€ ๋ฐ˜ํ™˜๋ฉ๋‹ˆ๋‹ค. db.collection("์ปฌ๋ ‰์…˜ ์ด๋ฆ„").whereField("ํ•„๋“œ๋ช…", isEqualTo: "ํฌ๋งˆ") isNotEqualTo ํ•„๋“œ์— ํฌ๋งˆ๋ผ๋Š” ๊ฐ’์ด ์•„๋‹Œ ๋ฌธ์„œ๊ฐ€ ์ „๋ถ€ ๋ฐ˜ํ™˜๋ฉ๋‹ˆ๋‹ค. db.collection("์ปฌ๋ ‰์…˜ ์ด๋ฆ„").whereField("ํ•„๋“œ๋ช…", isNotEqualTo: "ํฌ๋งˆ") isGreaterThan ํ•„๋“œ๊ฐ’์ด 1000๋ณด๋‹ค ํฐ ๋ฌธ์„œ๊ฐ€ ์ „๋ถ€ ๋ฐ˜ํ™˜๋ฉ๋‹ˆ๋‹ค. db.collection("์ปฌ๋ ‰์…˜ ์ด๋ฆ„").whereField("ํ•„๋“œ๋ช…", isGreaterThan: 1000) isLes.. 2021. 5. 25.
[Firebase] Firebase Extensions ์‚ฌ์šฉํ•ด๋ณด๊ธฐ(feat.์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ ์‚ญ์ œ) ์•ˆ๋…•ํ•˜์„ธ์š” Foma ๐Ÿ‘Ÿ ์ž…๋‹ˆ๋‹ค! ์˜ค๋Š˜์€ ํŒŒ์ด์–ด๋ฒ ์ด์Šค ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ฐ”๋กœ ์‹œ์ž‘ํ• ๊ฒŒ์š”~ ํŒŒ์ด์–ด๋ฒ ์ด์Šค ์ต์Šคํ…์…˜์ด๋ž€? ๐Ÿค” ์ด๋ฏธ ๊ตฌํ˜„๋œ ์—ฌ๋Ÿฌ ๊ธฐ๋Šฅ์„ ์•ฑ์— ๋น ๋ฅด๊ฒŒ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ์ž…๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ์›๋ฆฌ ํ•ต์‹ฌ์€ ์•ฑ ๋˜๋Š” ํ”„๋กœ์ ํŠธ์—์„œ ๊ตฌ์ฒด์ ์œผ๋กœ ์ •์˜๋œ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•  ๋•Œ๋งˆ๋‹ค ํด๋ผ์šฐ๋“œ ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ œ๊ณตํ•˜๋Š” ์†”๋ฃจ์…˜๋“ค์€ ์•„๋ž˜์™€ ๊ฐ™์ด ์ด๋ฏธ์ง€ ํฌ๊ธฐ ์กฐ์ ˆ,์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ ์‚ญ์ œ,ํ…์ŠคํŠธ ๋ฒˆ์—ญ ๋“ฑ ์•„์ฃผ ์œ ์šฉํ•œ ํ”„๋กœ๊ทธ๋žจ๋“ค์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ฃผ์˜ํ•˜์‹ค ์ ์€ ์•„์ง ๋ฒ ํƒ€ ์ถœ์‹œ ๋ฒ„์ „์ด๋ฏ€๋กœ ๊ธฐ๋Šฅ์ด ๋ณ€๊ฒฝ๋˜๊ฑฐ๋‚˜ ์ง€์›์ด ์ œํ•œ๋  ์ˆ˜ ๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜๋Š”๋ฐ? ๐Ÿคจ ๋งŽ์€ ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ ์ค‘ ์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ ์‚ญ์ œ๋ฅผ ์˜ˆ์‹œ๋กœ ์„ค๋ช…๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ ์‚ญ์ œ์˜ ํŒŒ๋ž€์ƒ‰ Install ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ์ฃผ์„ธ์š”. ๊ทธ ๋‹ค.. 2021. 5. 24.
[Firebase] Cloud Functions๋กœ Algolia์™€ Firestore ์—ฐ๋™ํ•˜๊ธฐ ์•ˆ๋…•ํ•˜์„ธ์š” Foma ์ž…๋‹ˆ๋‹ค! ์˜ค๋Š˜์€ Cloud Functions ์„ ์ด์šฉํ•ด์„œ Firestore ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ Algolia์˜ ์ธ๋ฑ์Šค๋ฅผ ์—ฐ๋™ํ•˜๋Š”๊ฑธ ์ •๋ฆฌํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ํด๋ผ์šฐ๋“œ ํŽ‘์…˜ ๊ธฐ๋ณธ์„ธํŒ…๊ณผ ์•Œ๊ณ ๋ฆฌ์•„ ๊ธฐ๋ณธ์„ธํŒ…์ด ํ•„์š”ํ•˜๋ฏ€๋กœ ํด๋ผ์šฐ๋“œ ํŽ‘์…˜์„ธํŒ…์€ ์—ฌ๊ธฐ ์—์„œ ์•Œ๊ณ ๋ฆฌ์•„ ๊ธฐ๋ณธ์„ธํŒ…์€ ์—ฌ๊ธฐ ์—์„œ ๋จผ์ € ๋ณด๊ณ  ์™€์ฃผ์„ธ์š”~ ๋ฐ”๋กœ ์‹œ์ž‘ํ• ๊ฒŒ์š”~ Pod ๋จผ์ € Algolia์™€ Cloud Function๊ณผ Firestore๋ฅผ ์ฝ”์ฝ”์•„ํŒŸ์— ์ถ”๊ฐ€ํ•ด์ฃผ์„ธ์š”. pod 'AlgoliaSearchClient', '~> 8.0' pod 'Firebase/Functions' pod 'Firebase/Firestore' ํ„ฐ๋ฏธ๋„์—์„œ functions๋กœ ์ด๋™ํ›„ npm์œผ๋กœ ์•Œ๊ณ ๋ฆฌ์•„๋ฅผ ์„ค์น˜ํ•ด์ค๋‹ˆ๋‹ค. cd functions npm install alg.. 2021. 4. 21.
[Firebase] ํŒŒ์ด์–ด๋ฒ ์ด์Šค ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‚ฌ์šฉํ•ด๋ณด๊ธฐ(Realtime Database Write,Read,Update,Delete) ์•ˆ๋…•ํ•˜์„ธ์š” Foma ์ž…๋‹ˆ๋‹ค! ์˜ค๋Š˜์€ ํŒŒ์ด์–ด๋ฒ ์ด์Šค์˜ ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(๋ฆฌ์–ผํƒ€์ž„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค)๋ฅผ ์‚ฌ์šฉํ•ด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค! ๋ฐ”๋กœ ์‹œ์ž‘ํ• ๊ฒŒ์š”~ (ํ˜น์‹œ ํ”„๋กœ์ ํŠธ ์„ธํŒ…ํ•˜๋Š”๋ฒ•์„ ๋ชจ๋ฅด์‹ ๋‹ค๋ฉด ๋จผ์ € ์—ฌ๊ธฐ ๋ฅผ ๋ณด๊ณ  ์™€์ฃผ์„ธ์š”~) Realtime Database ํŒŒ์ด์–ด๋ฒ ์ด์Šค ์ฝ˜์†”์‚ฌ์ดํŠธ๋กœ ์ด๋™ํ•˜์…”์„œ Realtime Database๋ฅผ ๋ˆŒ๋Ÿฌ์ฃผ์„ธ์š”. ๊ทธ๋Ÿฌ๋ฉด ์‹œ์ž‘ํ•˜๊ธฐ ๋ฒ„ํŠผ์ด ์žˆ์„ํ…๋ฐ ์‹œ์ž‘ํ•˜๊ธฐ๋ฅผ ๋ˆŒ๋Ÿฌ์ฃผ์‹œ๊ณ  ํ…Œ์ŠคํŠธ ๋ชจ๋“œ๋กœ ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค๋ฅผ ๋งŒ๋“ค์–ด์ฃผ์„ธ์š”! ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์„ธํŒ…๋ ๊ฑฐ์—์š”! Terminal ํ•ด๋‹น ํ”„๋กœ์ ํŠธ๋กœ ์ด๋™ํ•˜์‹  ๋’ค ํŒŸํŒŒ์ผ์„ ๋งŒ๋“ค์–ด์ฃผ์‹œ๊ณ  podfile์— pod 'Firebase/Database' ๋ฅผ ์ถ”๊ฐ€ํ•ด์ฃผ์„ธ์š”. pod 'Firebase/Database' pod install์„ ํ•ด์ค๋‹ˆ๋‹ค. ์„ค์น˜๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด ์•„๋ž˜.. 2021. 4. 15.
[Firebase] Firebase ๊ฐ€๊ฒฉ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๊ธฐ(Firebase Pricing) ์•ˆ๋…•ํ•˜์„ธ์š” Foma ์ž…๋‹ˆ๋‹ค. ์ตœ๊ทผ ํ”„๋กœ์ ํŠธ๋ฅผ ํŒŒ์ด์–ด๋ฒ ์ด์Šค๋กœ ์‚ฌ์šฉํ•˜๋ฉด์„œ ์ด์ •๋„ ์œ ์ €๊ฐ€ ์ด์ •๋„ ์“ฐ๋ฉด ์–ผ๋งˆ๋‚˜ ๋‚˜์˜ค๊ฒ ๋‹ค ํ•˜๋ฉด์„œ ๊ฐ€๊ฒฉ์„ ์ธก์ •ํ•ด๋ณด์•˜๋Š”๋ฐ์š”. ์ด๋ฒˆ ๊ธฐํšŒ์— ํŒŒ์ด์–ด๋ฒ ์ด์Šค์˜ ๊ฐ€๊ฒฉ์ด ์–ผ๋งŒํผ ์ธก์ •๋˜๋Š”์ง€ ์ •๋ฆฌํ•ด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ”๋กœ ์‹œ์ž‘ํ• ๊ฒŒ์š”~ Free ๐Ÿ˜† ๋ฌด์ œํ•œ ๋ฌด๋ฃŒ๋กœ ์ œ๊ณต๋˜๋Š” ์„œ๋น„์Šค A/Bํ…Œ์ŠคํŠธ ์• ๋„๋ฆฌํ‹ฑ์Šค ์•ฑ ๋ฐฐํฌ ์•ฑ ์ƒ‰์ธ ์ƒ์„ฑ ํด๋ผ์šฐ๋“œ ๋ฉ”์„ธ์ง€ ํฌ๋ž˜์‰ฌ๋ฆฌํ‹ฑ์Šค ๋‹ค์ด๋‚˜๋ฏน ๋งํฌ ๋ฆฌ๋ชจํŠธ ์ปจํ”ผ๊ทธ Authentication ์ „ํ™” ์ธ์ฆ ๋ฌด๋ฃŒ ์š”๊ธˆ์ œ ์›” 1๋งŒ๋ฒˆ ๋ฌด๋ฃŒ์ œ๊ณต ์ข…๋Ÿ‰์ œ ์š”๊ธˆ์ œ ์ธ์ฆ 1ํšŒ๋‹น 0.06$(68์›) Cloud Firestore ๋ฌด๋ฃŒ ์š”๊ธˆ์ œ ์ด 1๊ธฐ๊ฐ€ ๋ฐ”์ดํŠธ๊นŒ์ง€ ์ €์žฅํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ํ•˜๋ฃจ์— 2๋งŒ๋ฒˆ ์“ฐ๊ธฐ 2๋งŒ๋ฒˆ ์‚ญ์ œ 5๋งŒ๋ฒˆ๊นŒ์ง€ ์ฝ๊ธฐ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ข…๋Ÿ‰์ œ ์š”๊ธˆ์ œ 1๊ธฐ๊ฐ€๋‹น 0.192$(200์›) ์“ฐ๊ธฐ: 10๋งŒ๋ฒˆ ๋‹น 0... 2021. 3. 30.
[Firebase] ๋ณด์•ˆ ๊ทœ์น™์— ๋Œ€ํ•ด ๊ฐ„๋‹จํžˆ ์•Œ์•„๋ณด๊ธฐ - 1 ์•ˆ๋…•ํ•˜์„ธ์š” Foma ์ž…๋‹ˆ๋‹ค! ์˜ค๋Š˜ ์•Œ์•„๋ณผ๊ฑด ํŒŒ์ด์–ด๋ฒ ์ด์Šค ๋ณด์•ˆ ๊ทœ์น™์— ๋Œ€ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์š”์ฆ˜ ํŒŒ์ด์–ด๋ฒ ์ด์Šค์—์„œ ๋ณด์•ˆ ๊ทœ์น™์„ ์—…๋ฐ์ดํŠธ ํ•˜๋ผ๊ณ  ์ด๋Ÿฐ ์•Œ๋ฆผ ๋„ ์˜ค๊ณ  ๋˜ ์˜ค๋žซ๋™์•ˆ ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ ํ”„๋กœ์ ํŠธ๋ฅผ ์˜ค๋žœ๋งŒ์— ๋“ค์–ด๊ฐ”๋”๋‹ˆ ์•„๋ž˜์™€ ๊ฐ™์€ permissions์— ๋Œ€ํ•œ ์—๋Ÿฌ๋„ ๋œจ๊ณ ... ๊ทธ๋ž˜์„œ ์•ˆ๋˜๊ฒ ๋‹ค ์‹ถ์–ด์„œ ์ œ๋Œ€๋กœ ์•Œ์•„๋ณด๊ณ  ๊ทœ์น™์„ ์ ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์ด ๊ธ€์„ ์ •๋ฆฌํ•ด๋ด…๋‹ˆ๋‹ค. Firebase ๋ณด์•ˆ ๊ทœ์น™ ์šฐ์„  ํŒŒ์ด์–ด๋ฒ ์ด์Šค ๋ณด์•ˆ ๊ทœ์น™์„ ์“ฐ๋ฉด ๋ญ๊ฐ€ ์ข‹์„๊นŒ์š”?๐Ÿค” ํŒŒ์ด์–ด๋ฒ ์ด์Šค ๊ณต์‹ ๋ฌธ์„œ์—๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด ๋‚˜์™€์žˆ์–ด์š”. "Firebase ๋ณด์•ˆ ๊ทœ์น™์„ ์‚ฌ์šฉํ•˜๋ฉด ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋ฅผ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์œ ์—ฐํ•œ ๊ทœ์น™ ๊ตฌ๋ฌธ์„ ์‚ฌ์šฉํ•˜๋ฉด ์ „์ฒด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋Œ€ํ•œ ๋ชจ๋“  ์“ฐ๊ธฐ ์ž‘์—…๋ถ€ํ„ฐ ํŠน์ • ๋ฌธ์„œ์— ๋Œ€ํ•œ ์ž‘์—…๊นŒ์ง€ ์–ด๋– ํ•œ ์ƒํ™ฉ์— ๋งž๋Š” ๊ทœ์น™์ด๋ผ๋„ ์ž‘์„ฑ.. 2021. 3. 11.
[Firebase iOS] Firebase ํ”„๋กœ์ ํŠธ์— ์•ฑ ๋“ฑ๋กํ•˜๊ธฐ(Setting iOS App in Firebase Project) ์•ˆ๋…•ํ•˜์„ธ์š” Foma ์ž…๋‹ˆ๋‹ค! ์˜ค๋Š˜์€ Firebase ํ”„๋กœ์ ํŠธ๋ฅผ ๋“ฑ๋กํ•˜๋Š”๋ฒ•์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ œ๊ฐ€ Firebase์— ๋Œ€ํ•ด์„œ ์“ด ๊ธ€๋“ค์„ ๋ณด๋‹ˆ ์ •์ž‘ ํ”„๋กœ์ ํŠธ๋ฅผ ๋“ฑ๋กํ•˜๋Š” ๋ฒ•์— ๋Œ€ํ•ด์„œ๋Š” ์ •๋ฆฌํ•˜์ง€ ์•Š์•˜๋”๋ผ๊ตฌ์š”. ๊ทธ๋ž˜์„œ ์ด๋ฒˆ ๊ธฐํšŒ์— ํ”„๋กœ์ ํŠธ๋ฅผ ์–ด๋–ป๊ฒŒ ๋“ฑ๋กํ•˜๊ณ  ์„ธํŒ…ํ•˜๋Š”์ง€์— ๋Œ€ํ•ด์„œ ์ •๋ฆฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. Firebase Console ๊ฐ€์žฅ ๋จผ์ € Firebase ์ฝ˜์†”๋กœ ์ด๋™ํ•ด์ฃผ์„ธ์š”! ๋กœ๊ทธ์ธ - Google ๊ณ„์ • ํ•˜๋‚˜์˜ ๊ณ„์ •์œผ๋กœ ๋ชจ๋“  Google ์„œ๋น„์Šค๋ฅผ Google ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธ accounts.google.com ํ”„๋กœ์ ํŠธ ์ถ”๊ฐ€๋ฅผ ๋ˆŒ๋Ÿฌ์ค๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ํ”„๋กœ์ ํŠธ ๋งŒ๋“ค๊ธฐ 3๋‹จ๊ณ„๊ฐ€ ๋‚˜์˜ค๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๋จผ์ € 1๋‹จ๊ณ„๋Š” ์ด๋ฆ„์„ ์ •ํ•ด์ฃผ์„ธ์š”! ๊ณ„์†์„ ๋ˆŒ๋Ÿฌ์ฃผ์„ธ์š”. ์›ํ•˜๋Š” ๊ณ„์ •์„ ์„ ํƒํ•˜์‹œ๊ณ  ํ”„๋กœ์ ํŠธ ๋งŒ๋“ค๊ธฐ๋ฅผ ๋ˆŒ๋Ÿฌ์ฃผ์„ธ์š”! ์ด์ œ ์•ฑ์„ ๋“ฑ๋กํ•˜๊ธฐ ์œ„.. 2021. 1. 22.
[Firebase iOS] ์•ฑ์— ๊ด‘๊ณ ๋‹ฌ๊ธฐ (Google Firebase AdMob) ์•ˆ๋…•ํ•˜์„ธ์š” Foma ์ž…๋‹ˆ๋‹ค! ์ตœ๊ทผ์— TimeBank ๋ผ๋Š” ์•ฑ์„ ์ถœ์‹œํ•˜๊ฒŒ ๋˜์—ˆ๋Š”๋ฐ ์•ฑ์œผ๋กœ ์ˆ˜์ต์„ ์–ป๋Š” ๋ฐฉ๋ฒ•์ด ๋ญ๊ฐ€ ์žˆ์„๊นŒ? ์— ๋Œ€ํ•ด์„œ ์ฐพ์•„๋ณด๋‹ค๊ฐ€ google ์• ๋“œ๋ชน์ด๋ผ๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ๋˜์—ˆ์–ด์š”. ๊ทธ๋ž˜์„œ ์˜ค๋Š˜์€ ์• ๋“œ๋ชน ๋‹ค๋Š”๋ฒ•์— ๋Œ€ํ•ด์„œ ๋‹ค๋ค„๋ณด๋„๋ก ํ• ๊ฒŒ์š”! AdMob Google Admob ์• ๋“œ๋ชน ํ™ˆํŽ˜์ด์ง€๋กœ ๋จผ์ € ์ด๋™ํ•ด์ค๋‹ˆ๋‹ค~ AdMob ํ•˜๋‚˜์˜ ๊ณ„์ •์œผ๋กœ ๋ชจ๋“  Google ์„œ๋น„์Šค๋ฅผ AdMob์œผ๋กœ ์ด๋™ํ•˜๋ ค๋ฉด ๋กœ๊ทธ์ธํ•˜์„ธ์š”. accounts.google.com ๊ทธ๋Ÿผ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ™”๋ฉด์ด ๋œฐ๊ฑฐ์—์š”. ์‹œ์ž‘ํ•˜๊ธฐ ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ์ค๋‹ˆ๋‹ค. ํ”Œ๋žซํผ์€ ๋‹น์—ฐํžˆ iOS ๊ทธ๋ฆฌ๊ณ  ์ €๋Š” ์•ฑ์Šคํ† ์–ด์— ๋“ฑ๋ก๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ ์˜ˆ,์ง€์›๋˜๋Š” ์•ฑ ์Šคํ† ์–ด์— ์•ฑ.... ์ด๊ฒƒ์„ ํด๋ฆญํ•ด์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณค ์ž์‹ ์˜ ์•ฑ์„ ๊ฒ€์ƒ‰ํ•ด์„œ ๊ณจ๋ผ์ฃผ์„ธ์š”. ์ œ ์ฒซ๋ฒˆ์งธ ์•ฑ ํƒ€์ž„๋ฑ…ํฌ์ž…๋‹ˆ๋‹ค!! ์‚ฌ์šฉ.. 2021. 1. 18.
[Firebase iOS] ํœด๋Œ€ํฐ๋ฒˆํ˜ธ๋กœ ๋กœ๊ทธ์ธํ•˜๊ธฐ(Authenticate with Phone Number) ์•ˆ๋…•ํ•˜์„ธ์š” Foma ์ž…๋‹ˆ๋‹ค. ์˜ค๋Š˜์€ Firebase๋ฅผ ์ด์šฉํ•ด์„œ ํœด๋Œ€ํฐ๋ฒˆํ˜ธ๋กœ ๋กœ๊ทธ์ธํ•˜๋Š”๋ฒ•์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ฐ”๋กœ ์‹œ์ž‘ํ• ๊ฒŒ์š”~ Xcode ๊ฐ€์žฅ ๋จผ์ € Signing & Capability๋กœ ์ด๋™ํ•˜์…”์„œ +Capability ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด์‹œ๊ณ  Push Notifications๋ฅผ ์ถ”๊ฐ€์‹œ์ผœ์ฃผ์„ธ์š”. ๊ทธ ๋‹ค์Œ์œผ๋ก  Background Modes๋ฅผ ์ถ”๊ฐ€์‹œ์ผœ์ค€ ๋’ค Remote notifications๋ฅผ ์ฒดํฌํ•ด์ค๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณค AppDelegate๋กœ ์ด๋™ํ•˜์…”์„œ UserNotifications์™€ Firebase๋ฅผ importํ•ด์ค๋‹ˆ๋‹ค. didFinishLaunchingWithOptions ๋ถ€๋ถ„์— ์•„๋ž˜์™€ ๊ฐ™์ด ๋ถ™์—ฌ๋„ฃ์–ด์ฃผ์„ธ์š”. 1 2 3 4 FirebaseApp.configure() UNUserNotificationCenter.c.. 2020. 12. 29.
728x90
๋ฐ˜์‘ํ˜•