애정이 담긴 나의 Service...😍
좀 더 자세히 분석, 적용해보고 싶당~!
안녕하세요. 오딘(Odin)입니다.
여러분 제가 저번에 app을 새롭게 출시를 했지 않습니까?!? 음하하하 😁
보러가기 -> https://odinios.tistory.com/10
그러면 app도 출시 했겠다~~ 이제 다 끝난걸까요??
아니죠!! app을 만들었으니 해당 app을 유저들이 잘 사용하고 있는지,
사용자에게 맞춤으로 Noti 알림을 제공한다던지,
error가 나서 app이 꺼지는 문제가 발생한건 아닌지 확인을 해봐야겠죠~??
물론 해당 appstore Connect에서 분석 정도는 가능하지만
추후 로그인, Noti 알림 등 서버가 필요한 기능들을 혼자서 모두 개발 하기에는
리소스가 너무 많이 들다보니 이런 것들을 쉽게 사용할 수 있는 Firebase를 이용해 보려고 합니다.
그러면 같이 firebase를 적용해보고 활용해보러 가볼까요~!?
Firebase 란?
-> 서버 없이도 앱/ 웹 서비스를 만들 수 있도록 도와주는 Tool
모바일 서버를 개발하기 위해서는 인증, 데이터베이스, 푸시 알람, 스토리지, API 등 모든 것을 개발해야 합니다.
그러나 이러한 복잡한 과정들을 매번 개발할 때마다 하는 것은 시간낭비이므로 FireBase는 이 모든 플렛폼을 프로젝트 구축 시 자동적으로 생성해 줍니다. 또한 서버를 구축하기 위해서 리눅스 명령어를 알 필요도 없으며 도메인을 구입할 필요가 없고 개발하는 동안에는 서버를 구입할 필요도 없어서 적은 비용으로 매우 좋은 앱을 쉽게 만들 수 있습니다.
Firebase 장점
1) 무료!! 💰
-> 월 무료 사용량이 존재 (이거 넘으면 비쌈..!!)
2) 인증 시스템을 지원
-> 매번 서버로 개발하기 까다로운 로그인을 담당하는 데이터베이스를 지원해줍니다
3) FireBase는 NoSQl 기반의 3세대 데이터베이스
-> 스키마가 없어 유연하며 자유로운 데이터 구조로 빠르며 RTSP를 지원하여 소켓 기반 서버보다 실시간 통신 코드가 간결함
4) Analytics를 제공
-> 어떤 page가 인기가 많은지, 어디서 crush가 일어났는지 등에 대한 정보를 제공해줍니다.
Firebase 적용하기
1. Firebase Project 생성
Firebase-> https://firebase.google.com/?hl=ko
Xocde project 에 대한 분석 및 다양한 작업을 delegate 해줄 수 있는 Firebase를 생성해줍시다!
2. XCode Project 내부에 Firebase Project 추가
iOS 앱 추가하기를 선택하고 순서에 맞게 시키는 대로 잘 적용해주시면 됩니다!!
Firebase 앱 등록, GoogleService-Info.plist 다운로드하여 프로젝트에 포함 시키기
FireBase SDK 추가하는 부분에서
github -> https://github.com/firebase/firebase-ios-sdk
SPM 으로 해당 firebase Package를 추가해주세요~!
자세한 정보 -> https://firebase.google.com/docs/ios/setup?authuser=0&%3Bhl=ko&hl=ko
위에서 필요하다고 생각되는 package Product들을 체크한 뒤 추가해 주시면 됩니다~!
(저는 간단하게 충돌 관련 정보, push Noti에 대한 product들을 체크해 주었습니다~)
이렇게 해주면 XCode 내부에 Firebase 적용하기 끝!!😁😁😁
Crash 관련 정보
crash 관련해서
자세한 정보 -> https://firebase.google.com/docs/analytics/events?hl=ko&platform=ios
XCode 디버그 콘솔에서 이벤트 보기
Firebase Debug 모드 활성화
- 상세 로깅을 사용 설정하여 SDK의 이벤트 로깅을 모니터링하면 이벤트가 올바르게 로깅되는지 확인할 수 있습니다.
여기에는 자동으로 로깅되는 이벤트와 수동으로 로깅되는 이벤트가 모두 포함됩니다
- Firebase 콘솔 안에서 데이터를 확인하는 부분인 DebugView는 (사용자 기기의 배터리 절약, 네트워크 데이터 사용량을 줄이기 위하여) 약 1시간동안 앱에서 취합된 후 일괄 업로드하지만, Arguments를 추가할 경우 지연 시간을 최소화하여 분석에 집중 가능합니다.
logEvent( ) 사용하기
-> logEvent를 활용하면 어떤 사용자가 어떤 작동을 많이 하는지에 대한 log를 확인할 수 있게 됩니다!
저는 tapCrashButton을 눌렀을 떄 file과 function이 뜨도록 처리를 했습니다.
import FirebaseAnalytics
...
override func viewDidLoad() {
super.viewDidLoad()
// nickname에 대한 정보를 호출하게 된다면 정보를 알 수 있음
Analytics.logEvent("event Name", parameters: [
"example1": "example1",
"example2": "example2",
])
}
...
@IBAction func tapCrashButton(_ sender: UIButton) {
Analytics.logEvent("tapCrashButton", parameters: [
"file": #file,
"function": #function,
])
}
이처럼 User가 어떤 부분에 많이 접근하는지, 어디서 오류가 나는지에 대한 체크도 쉽게 확인 할 수 있는 것을 볼 수 있었습니다!!
이번 시간에는 firebase 넣고 간단하게 사용해보았습니다.
다음 번에는 firebase를 이용해 Noti 알람을 한번 넘겨보도록 할게요~!!
'iOS' 카테고리의 다른 글
[iOS] Firebase Auth (파이어베이스 인증) 전화번호 인증 처리 (0) | 2022.12.12 |
---|---|
[dev/iOS] 쿠키(Cookie), 세션(Session), 토큰(Token) 이란?? (0) | 2022.12.12 |
[iOS] Firebase 를 활용한 push 알림 (Remote Notification) (0) | 2022.10.14 |
[iOS] 미히 - May I help youth? (청년 지원 정책 Service) - 회고(1) (0) | 2022.10.05 |
[iOS] App SandBox란? (0) | 2022.08.29 |