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

๐Ÿ“š Database36

[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.
[Firebase] Cloud Function์„ ์‚ฌ์šฉํ•ด์„œ Hello World๋ฅผ ๋„์›Œ๋ณด์ž ์•ˆ๋…•ํ•˜์„ธ์š” Foma ์ž…๋‹ˆ๋‹ค! ์˜ค๋žœ๋งŒ์— ํŒŒ์ด์–ด๋ฒ ์ด์Šค ๊ด€๋ จํ•ด์„œ ๊ธ€์„ ์“ฐ๊ฒŒ ๋˜์—ˆ๋„ค์š”. ์˜ค๋Š˜ ์•Œ์•„๋ณผ๊ฑด ํด๋ผ์šฐ๋“œ ํŽ‘์…˜์ด๋ผ๋Š” ๊ฒƒ์ธ๋ฐ์š”. Cloud Function ๋จผ์ € ํด๋ผ์šฐ๋“œ ํŽ‘์…˜์ด๋ž€? ๊ฐ„๋‹จํ•˜๊ฒŒ ์„ค๋ช…๋“œ๋ฆฌ๋ฉด ์ €๋ฒˆ์— ์ €ํฌ๊ฐ€ ํŒŒ์ด์–ด์Šคํ† ์–ด์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์•˜์ž–์•„์š”? (ํ˜น์‹œ ๋ชจ๋ฅด์‹œ๋Š” ๋ถ„๋“ค์€ ์—ฌ๊ธฐ ์—์„œ ๋จผ์ € ๋ณด๊ณ ์™€์ฃผ์„ธ์š”~) ์ธ์Šคํƒ€๊ทธ๋žจ์œผ๋กœ ์˜ˆ๋ฅผ ๋“ค์ž๋ฉด ๋งŒ์•ฝ ํŒ”๋กœ์›Œ๊ฐ€ 100๋งŒ๋ช…์ด ์žˆ๊ณ  ๊ทธ ํŒ”๋กœ์›Œ๋“ค์˜ ํฌ์ŠคํŠธ๋ฅผ ์ •๋ ฌํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ• ๊นŒ์š”? ์ง์ ‘ ์•ฑ ๋‚ด์˜ ์ฝ”๋“œ์—์„œ ํŒŒ์ด์–ด์Šคํ† ์–ด ์•ˆ์˜ ์ˆ˜๋ฐฑ๋งŒ๊ฐœ์˜ ๋ฌธ์„œ๋ฅผ ์ฝ๊ณ  ๋ฐ›์•„์™€์„œ ์ •๋ ฌํ•ด์•ผ ํ• ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์•ฑ์˜ ๋ฉ”๋ชจ๋ฆฌ ์†Œ๋ชจ๋„ ๋„ˆ๋ฌด ์‹ฌํ•ด์ง€๊ณ  ํด๋ผ์ด์–ธํŠธ์—์„œ ๊ด€๋ฆฌํ•˜๊ธฐ ๋ถ€๋‹ด์Šค๋Ÿฌ์›Œ์งˆ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด ํด๋ผ์šฐ๋“œ ํŽ‘์…˜์„ ์‚ฌ์šฉํ•˜๊ฒŒ ๋œ๋‹ค๋ฉด node.js์—์„œ ์›ํ•˜๋Š” Httpํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด๋†“๊ณ  ์•ฑ ํด๋ผ์ด์–ธํŠธ์—.. 2020. 12. 6.
Cloud Firestore ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ฐ์ดํ„ฐ ์—…๋ฐ์ดํŠธํ•˜๊ธฐ (addSnapshotListener) ์•ˆ๋…•ํ•˜์„ธ์š” Foma ์ž…๋‹ˆ๋‹ค! ์˜ค๋Š˜์€ ํŒŒ์ด์–ด์Šคํ† ์–ด์—์„œ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ฐ”๋€ ๋ฐ์ดํ„ฐ๋ฅผ ์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. addSnapshotListener๋ฅผ ๋‹ฌ์•„์ฃผ๋ฉด ๋˜๋Š”๋ฐ์š”. ์ด ๊ธฐ๋Šฅ์€ ์—ฐ๊ฒฐ๋œ ์ฃผ์†Œ์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ฐ”๋€”๋•Œ๋งˆ๋‹ค ์ž๋™์œผ๋กœ ์—…๋ฐ์ดํŠธ๋ฅผ ํ•ด์ฃผ๋Š”๋ฐ์š”. ์ด๊ฒƒ์€ ์•„์ฃผ ๋งŽ์ด ์‚ฌ์šฉ๋˜๊ณ  ์œ ์šฉํ•œ ๊ฒƒ์ด๋ผ์„œ ์ด๊ณณ์— ์ ์–ด๋†“๊ฒ ์Šต๋‹ˆ๋‹ค!! ์ž ๊ทธ๋Ÿผ ์˜ˆ์‹œ๋กœ ์‹œ์ž‘ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋จผ์ € users๋ผ๋Š” ์ฝœ๋ ‰์…˜์— document๋กœ user1์„ ๋งŒ๋“ค์–ด์ฃผ๊ณ  nameํ•„๋“œ๋ฅผ ๋งŒ๋“ค๊ณ  ์›ํ•˜๋Š” ์ด๋ฆ„์„ ์จ์ค๋‹ˆ๋‹ค. xcode๋กœ ๋Œ์•„๊ฐ€์„œ ์Šคํ† ๋ฆฌ๋ณด๋“œ๋กœ ์ด๋™ํ•ด ๋ทฐ์ฝ˜ํŠธ๋กค๋Ÿฌ๋ฅผ ๋งŒ๋“ค์–ด์ฃผ๊ณ  ์ด๋ฆ„์„ ๋‚˜ํƒ€๋‚ผ Label ํ•˜๋‚˜ ๋ฐ”๊ฟ”์ค„ ์ด๋ฆ„์„ ์ ์„ TextField ๊ทธ๋ฆฌ๊ณ  ์ด๋ฆ„์„ ๋ฐ”๊ฟ”์ค„ Button์„ ๋งŒ๋“ค์–ด์ค๋‹ˆ๋‹ค. ๋ทฐ์ฝ˜ํŠธ๋กค๋Ÿฌ๋กœ ์ด๋™ํ•˜์—ฌ Label,Button,TexField.. 2020. 9. 12.
[Firebase] ํŒŒ์ด์–ด์Šคํ† ์–ด์— ๋ฐ์ดํ„ฐ ์ƒ์„ฑ ๋ฐ ์ €์žฅํ•˜๊ธฐ(Cloud Firestore Data Create & Store) Firestore๋Š” ์œ ์—ฐํ•˜๊ณ  ํ™•์žฅ ๊ฐ€๋Šฅํ•œ NoSQL ํด๋ผ์šฐ๋“œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ ํด๋ผ์ด์–ธํŠธ ๋ฐ ์„œ๋ฒ„ ์ธก ๊ฐœ๋ฐœ์— ์‚ฌ์šฉ๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ๋™๊ธฐํ™”ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ž…๋‹ˆ๋‹ค. ํŒŒ์ด์–ด์Šคํ† ์–ด๋Š” ์ฝœ๋ ‰์…˜ - ๋„ํ๋จผํŠธ - ํ•„๋“œ๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ์Šต๋‹ˆ๋‹ค. ์ฝœ๋ ‰์…˜์€ ๋„ํ๋จผํŠธ๋“ค์„ ๋‹ด๊ณ  ์žˆ๋Š” ์ง‘ํ•ฉ์ด๊ณ  ๋„ํ๋จผํŠธ๋Š” ๋‹ค์–‘ํ•œ ๊ฐ’์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋ฌธ์„œ์ด๊ณ  ๋‹ค์–‘ํ•œ ๊ฐ’์€ ํ•„๋“œ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ถ•๊ตฌ์„ ์ˆ˜๋ผ๋Š” ์ฝœ๋ ‰์…˜์ด ์žˆ๋‹ค๋ฉด ์ถ•๊ตฌ์„ ์ˆ˜์— ํ•ด๋‹น๋˜๋Š” ๋ฐ•์ง€์„ฑ,์†ํฅ๋ฏผ,์•ˆ์ •ํ™˜ ๋“ฑ์ด ๋„ํ๋จผํŠธ์— ํ•ด๋‹น๋  ๊ฒƒ์ด๋ฉฐ ๋ฐ•์ง€์„ฑ์ด ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ณต๊ฒฉ๋Šฅ๋ ฅ,์ˆ˜๋น„๋Šฅ๋ ฅ,์ฒด๋ ฅ ๋“ฑ์ด ํ•„๋“œ๊ฐ’์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ์˜ˆ์‹œ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋งŒ๋“ค์–ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋จผ์ € ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ฐ€์žฅ ๋จผ์ € FirebaseFirestore๋ฅผ importํ•ด์ค๋‹ˆ๋‹ค. db๋ฅผ ๋งŒ๋“ค์–ด์ค๋‹ˆ๋‹ค. -> let.. 2020. 5. 28.
[Firebase iOS] ํŒŒ์ด์–ด๋ฒ ์ด์Šค ํŠธ๋žœ์žญ์…˜(Firebase Transaction) Swift ์˜ค๋Š˜์€ ํŒŒ์ด์–ด๋ฒ ์ด์Šค ํŠธ๋žœ์žญ์…˜์— ๋Œ€ํ•ด์„œ ์•Œ์•„๊ฐ€ ๋ด…์‹œ๋‹ค. ๋จผ์ € ํŠธ๋žœ์žญ์…˜์ด๋ž€ 1๊ฐœ ์ด์ƒ์˜ ๋ฌธ์„œ์— ๋Œ€ํ•œ ์ฝ๊ธฐ ๋ฐ ์“ฐ๊ธฐ ์ž‘์—…์˜ ์ง‘ํ•ฉ์ด๋ผ๊ณ  ํŒŒ์ด์–ด๋ฒ ์ด์Šค ๋ฌธ์„œ์— ๋‚˜ํƒ€๋‚˜์žˆ๋Š”๋ฐ์š”. ํŠธ๋žœ์žญ์…˜์ด๋ž€ ์šฉ์–ด๋Š” ๋จผ์ € ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅํ•˜๋Š” ๋™์•ˆ์— ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅํ•˜์ง€ ๋ชปํ•˜๊ฒŒ ํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ์‰ฝ๊ฒŒ ์˜ˆ๋ฅผ ๋“ค์–ด ์„ค๋ช…ํ•˜๋ฉด ์ธ์Šคํƒ€๊ทธ๋žจ์˜ ์ข‹์•„์š” ํ•˜ํŠธ๋ชจ์–‘ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋Š” ๊ฒƒ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ข‹์•„์š” ํ•˜ํŠธ๋ชจ์–‘์„ ๋งŒ์•ฝ ๋™์‹œ์— ์—ฌ๋Ÿฌ์‚ฌ๋žŒ์ด ๋ˆŒ๋ €์„ ๋•Œ ๋ฐ์ดํ„ฐ๊ฐ€ ์†์ƒ๋  ์ˆ˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ๋จผ์ € ์™„๋ฃŒ๋˜๊ธฐ ์ „๊นŒ์ง€ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ์˜ ์ž…๋ ฅ์„ ๊ธˆ์ง€ํ•˜๊ณ  ์™„๋ฃŒ๊ฐ€ ๋˜๋ฉด ๊ทธ ๋‹ค์Œ ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅํ•˜๋Š” ํ˜•์‹์œผ๋กœ ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ ํ•œ๋ฒˆ ์ข‹์•„์š” ๊ธฐ๋Šฅ์„ ๋งŒ๋“ค์–ด๋ณผ๊นŒ์š”? ๋จผ์ € ํŒŒ์ด์–ด์Šคํ† ์–ด์—์„œ ์ธ์Šคํƒ€๊ทธ๋žจ์ด๋ผ๋Š” ์ฝœ๋ ‰์…˜์— ์ข‹์•„์š”๋ผ๋Š” ๋ฌธ์„œ๋ฅผ ๋งŒ๋“  ๋’ค ํ•„๋“œ๊ฐ’์œผ๋กœ like์™€ ๊ฐฏ์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด์ค.. 2020. 5. 15.
[Firebase] Storage์—์„œ ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๋ฐ ๋‹ค์šด๋กœ๋“œํ•˜๊ธฐ ์ฒซ ๋ฒˆ์งธ๋กœ ํ•  ์ผ์€ podํŒŒ์ผ์— 'Firebase/Storage'๋ฅผ ์ถ”๊ฐ€ํ•ด์ค๋‹ˆ๋‹ค ๊ทธ๋ฆฌ๊ณค ํ„ฐ๋ฏธ๋„๋กœ ๊ฐ€์„œ ํ•ด๋‹น ํด๋”๋กœ ์ด๋™ ํ›„ pod install์„ ํ•ด์ค๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณค ๋ทฐ์ปจํŠธ๋กค๋Ÿฌ๋กœ ์ด๋™ํ•ด import FirebaseStorage ํ•ด์ค๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณค Storage์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“ค์–ด์ค๋‹ˆ๋‹ค. ๊ทธ ๋‹ค์Œ์€ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ UIImage๋ฅผ ๋ฐ›๋Š” ์—…๋กœ๋“œํ•˜๋Š” ๋ฉ”์†Œ๋“œ uploadimage๋ฅผ ๋งŒ๋“ค์–ด์ค๋‹ˆ๋‹ค. data ๋ณ€์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด์„œ ์ด๋ฏธ์ง€๋ฅผ jpegData๋กœ ๋ฐ”๊ฟ”์ค€ ๋’ค filepath๋ผ๋Š” ๋ณ€์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด์„œ ์–ด๋–ค ์ด๋ฆ„์œผ๋กœ ์ €์žฅ ๋ฐ ์ฃผ์†Œ๋ฅผ ๋งŒ๋“ค๊ฑด์ง€ ์ •ํ•ด์ค๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณค contentType์œผ๋กœ "image/png"๋กœ ํ•ด์ค€๋’ค ์•„๊นŒ ๋งŒ๋“ค์–ด๋’€๋˜ storage์ธ์Šคํ„ด์Šค์— reference().child(filePath).putData๋ฅผ ํ•ด์ฃผ์–ด ๋ฐ์ดํ„ฐ๋ฅผ.. 2020. 4. 14.
FCM(Firebase Cloud Messaging) ๊ตฌํ˜„ํ•˜๊ธฐ 1.ํ‚ค์ฒด์ธ ๋“ค์–ด๊ฐ€์„œ ์ธ์ฆ์„œ ๋ฐ›๊ธฐ 2.์• ํ”Œ ๊ฐœ๋ฐœ์ž์—์„œ ํ‚ค์ƒ์„ฑํ•˜๊ธฐ ํ‚ค์˜† ํ”Œ๋Ÿฌ์Šค๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๊ฑฐ๋‚˜ ์ฒ˜์Œ์ธ ๊ฒฝ์šฐ๋Š” create key๋ฅผ ํ•ด์ค€๋‹ค. key name์„ ์ •ํ•ด์ฃผ๊ณ  Apple Push Notification service์— ์ฒดํฌ๋ฅผ ํ•ด์ฃผ๊ณ  ์ปจํ‹ฐ๋‰ด๋ฅผ ๋ˆŒ๋Ÿฌ์ค€๋‹ค ๋ฆฌ์ง€์Šคํ„ฐ๋ฅผ ๋ˆŒ๋Ÿฌ์ค€๋‹ค key ID๋ฅผ ๋”ฐ๋กœ ์ ์–ด๋‘๊ณ  ๋‹ค์šด๋กœ๋“œ๋ฅผ ๋ˆ„๋ฅธ๋‹ค. ๊ทธ๋Ÿผ ์ด๋ ‡๊ฒŒ ๋‹ค์šด๋ฐ›์•„์ง„๋‹ค. ์ข€ ์ด๋”ฐ ์จ์•ผ๋˜๋‹ˆ๊น ์ž˜ ๋ณด๊ด€ํ•ด๋†“๋„๋ก ๋‹ค์‹œ ์• ํ”Œ identifiers๋กœ ๋“ค์–ด๊ฐ€์„œ ์•ฑ์„ ๋ˆ„๋ฅธ๋’ค์— App ID Prefix๋Š” ํŒ€ID๋กœ ์“ฐ์ด๋ฏ€๋กœ ์ด๊ฒƒ ์—ญ์‹œ ๋”ฐ๋กœ ์ ์–ด๋‘๋„๋ก ์ปจํ”ผ๊ฒจ๋ ˆ์ด์…˜์—์„œ Push Notifications๋ฅผ ์ฒดํฌํ•ด์ค€๋‹ค. ์ปจํ”ผ๊ฒจ๋ˆŒ๋ €์„ ๋•Œ๋Š” ๋”ฐ๋กœ ์•ˆํ•ด๋„ ๋จ. 3.Xcode Project podfile์— ์•„๋ž˜ ๋‘๊ฐœ๋ฅผ ์ถ”๊ฐ€ํ•ด์ฃผ๊ณ  pod install์„ ํ•ด์ค€๋‹ค. .. 2020. 1. 22.
Firebase๋ฅผ ์ด์šฉํ•œ User ์ƒ์„ฑ ๋ฐ Firestore์— ์œ ์ €๋ฐ์ดํ„ฐ ์ €์žฅ podfile์— ์œ„์™€ ๊ฐ™์ด ์ถ”๊ฐ€ ํ•ด์ค€ ๋’ค ํ„ฐ๋ฏธ๋„์—์„œ ํ•ด๋‹น ํ”„๋กœ์ ํŠธ๊ฐ€ ์žˆ๋Š” ํด๋”์— ์ด๋™ํ•œ ๋’ค pod install์„ ํ•ด์ฃผ๊ณ  ๊ทธ๋ฆฌ๊ณ  Appdelegate๋กœ ์ด๋™ํ•œ ๋’ค Firebase๋ฅผ importํ•ด์ค€๋‹ค, ๊ทธ ๋‹ค์Œ ์œ„ ํ•จ์ˆ˜๋กœ ์ด๋™ํ•œ ๋’ค FirebaseApp.configure()์„ ํ•ด์ฃผ๊ณ  ํšŒ์›๊ฐ€์ž… ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ด์„œ ์œ„ ๋‘๊ฐœ๋ฅผ importํ•ด์ค€ ๋’ค ํšŒ์›๊ฐ€์ž…๋ฒ„ํŠผ ๋ˆ„๋ฅด๋Š” ๊ณณ์— ์œ„์™€ ๊ฐ™์€ ํ•จ์ˆ˜๋ฅผ ์ถ”๊ฐ€ ํ•ด์ฃผ๋ฉด ๋! let db = Firestore.firestore()์€ ๋ฐ์ดํ„ฐ๋ฅผ ํŒŒ์ด์–ด์Šคํ† ์–ด์—์„œ ๊ฐ€์ ธ์˜จ๋‹จ ์˜๋ฏธ ์œ„์™€ ๊ฐ™์ด ์ €์žฅ๋œ๋‹ค. ๊ฑฐ๊ธฐ์— collection์˜ ์ด๋ฆ„์€ "users"์ด๊ณ  ๊ทธ ์•ˆ์— document์˜ ์ด๋ฆ„์€"๊ฐ€์ž…ํ•˜๋Š” ์ด๋ฉ”์ผ"๋กœ ๊ทธ ์•ˆ์— email,name์ด๋ผ๋Š” ํ•„๋“œ์— ๊ฐ ๊ฐ ์ด๋ฆ„๊ณผ ์ด๋ฉ”์ผ์„ ๋„ฃ์–ด์ค€๋‹ค๋Š” ๋œป 2019. 11. 23.
Firebase๋ฅผ ์ด์šฉํ•œ ๋น„๋ฐ€๋ฒˆํ˜ธ ์žฌ์„ค์ • ์ด๋ฉ”์ผ ๋ณด๋‚ด๊ธฐ FirebaseAuth๋ฅผ import ํ•ด์ค€ ๋’ค ์œ„ ์ฝ”๋“œ withEmail: ์ฐพ์„ ๋น„๋ฐ€๋ฒˆํ˜ธ ์ด๋ฉ”์ผ์„ ์ ์–ด์ฃผ๋ฉด ์œ„ ์ด๋ฉ”์ผ๋กœ ์ด๋Ÿฌํ•œ ๋งํฌ๊ฐ€ ์˜จ๋‹ค. ๋งํฌ๋ฅผ ํด๋ฆญํ•˜๋ฉด ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์žฌ์„ค์ •ํ•˜๋ผ๊ณ  ๋œฌ ๋’ค ์ƒˆ๋กœ์šด ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ ์–ด์ฃผ๋ฉด ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ์žฌ์„ค์ •๋œ๋‹ค. 2019. 11. 23.
728x90
๋ฐ˜์‘ํ˜•