728x90 ๋ฐ์ํ ๐ Database/Firebase20 [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. ์ด์ 1 2 ๋ค์ 728x90 ๋ฐ์ํ