팀 내에서, 앱 크래시 툴로 사용하던 Fabric Crashlytics가 Firebase로 인수되면서 Firebase의 Crashlytics로 마이그레이션 하는 작업을 진행하였습니다.
이 과정에서, Firebase Crashlytics를 Slack과 연동하여 특정 Slack 채널로 버그 리포팅 알림을 받아 볼 수 있는 기능을 발견하였고, 너무너무 효자 같이 좋은 기능이라서 같이 공유하고자 기록하게 되었습니다.
실무에서 개발을 하다보면, 개발자 PC와 연결이 되어있는 경우 Error Log를 바로 확인할 수 있지만, QA부서나 다른 타 부서의 테스트 시 발생하는 에러에 대해서는 바로 파악하기가 어려운 점이 있었습니다.
특히나, QA부서에서 테스트 도중 앱이 죽는 경우, 재현 시나리오와 같이 내용을 전달받지만, 재현이 안되는 경우에는 어떤 에러였는지 파악하기가 정말 힘들었는데, Firebase Crashlytics를 Slack과 연동하여 실시간으로 버그 리포팅을 해주도록 설정을 해둔 이후로는, 앱 크래시 대응에 빠르게 대응할 수 있고, 재현이 쉽지 않은 에러들 까지도 버그리포트를 통해서 완벽하게 파악이 가능해졌습니다!
정말 정말 효자 같은 기능이고, 무조건 추천드립니다! 이 글을 보셨다면, 바로 적용해보시는 걸 자신 있게 추천드립니다!
설정 방법
1. Firebase 콘솔 설정
Firebase 콘솔 좌측 사이드 메뉴 -> 톱니바퀴 모양의 "설정" -> "프로젝트 설정"으로 들어갑니다.
2. "통합" 탭 선택 후, 하단 리스트 중 "Slack"를 찾아 "관리"를 선택하여 들어갑니다. (최초 연동 시에는, "설치"라는 문구로 되어있을 겁니다)
3. 아래와 같은 화면을 볼 수 있는데, 이제 연동을 시키기 위해 Slack의 설정과 알림 받을 채널의 Webhook Url를 가져오도록 하겠습니다.
4. Slack의 채널 리스트가 보이는 하단에 보면, 아래와 같이 "Apps"를 추가할 수 있는 메뉴가 있습니다.
"Apps" 메뉴를 선택해줍니다. (오른쪽에 +플러스를 선택하거나 or "Add more apps" 메뉴를 선택하셔도 됩니다)
5. 검색창에 "crashlytics"를 입력하면 아래와 같이 "Crashlytics" 앱이 검색됩니다. 저는 기존에 설치가 되어있기 때문에 "View"라고 뜨지만, 최초 설치하신다면 "Install"이라고 보이실 겁니다. "Install"를 눌러 앱을 설치해줍니다.
6. 아래와 같이 설정 화면이 나오게 되는데, "Post to Channel"에서 버그리포트 알림을 받고 싶은 채널을 선택하고, 맨 하단에 "Save Integration"을 눌러서 설정을 저장합니다.
그 후, 아래의 이미지에 보이는 "Webhook URL"을 복사해둡니다.
7. 다시 Firebase 설정 페이지로 돌아와서, 방금 복사했던 Webhook URL과 Slack 채널명을 동일하게 입력해주고, 알림 받을 봇(Bot)의 이름을 멋지게 지어준 후 (저는 무난하게 crashlytics라고 지어줬습니다), "확인 및 저장"을 눌러서 설정을 완료합니다.
8. 설정을 완료 한 뒤, 우측 상단에 Firebase가 제공해주는 "테스트 메시지 전송" 기능을 통해, 우리가 설정한 Slack 채널에 제대로 알림이 오는지 테스트합니다.
정상적으로 알림이 온다면, Firebase Crashlytics와 Slack이 정상적으로 연동이 완료된 것입니다. 수고 많으셨습니다!
추가 Tip!!
알림을 보낼 크래시 종류에 대해 사용 설정을 할 수 있는 기능이 있습니다.
이 기능을 잘 활용하셔야, 프로젝트 진행 시 새롭게 발생하는 크래시에 대해 실시간으로 버그 리포팅을 받아보실 수 있습니다!
Firebase의 Slack 관리 페이지에 보면, 아래와 같이 "앱별 구성"이라는 항목이 보이실 겁니다.
여기에서 원하는 앱을 선택해주시면,
아래와 같은 설정창이 뜨게 됩니다.
여기에서 위와 같이, 세 가지 정도의 항목을 체크해주셔야 정말 효자노릇 하는 버그 리포팅을 받아보실 수가 있습니다.
특히, "새로운 문제" 트리거는 프로젝트 개발 시, 새롭게 발생되는 버그에 대해 즉각적으로 알림을 받아 볼 수 있기 때문에, 개발자 테스트 시 또는 QA단계에서 정말 유용한 설정 항목입니다! ^^
'안드로이드 기술 공유' 카테고리의 다른 글
Android DataBinding vs Kotlin Extensions 의 XML 레이아웃 접근, 어떤 방식이 더 좋을까? (0) | 2020.02.23 |
---|---|
기존 레이아웃을 데이터바인딩 레이아웃으로, 한방에 자동 변환하기! (0) | 2020.02.12 |
AndroidX 로 마이그레이션 하기 (0) | 2020.02.06 |
안드로이드 MVVM 아키텍처 (Android Apps Using MVVM Architecture) (2) | 2020.02.05 |
코틀린 전환과 같이하면 좋은 선행작업! (0) | 2020.02.04 |