앱이 크래시 날 때 슬랙으로 알림 받기 (w/ 구글 firebase)


모바일 앱 사용중에 갑자기 꺼지는 경우가 있다. 이걸 비정상 종료 또는 크래시라고 한다.  주로 프로그램안에서  null , 없는 배열 인덱스, 없는 속성 등을 접근하거나 메모리가 부족할때 일어난다.  산신령과 지니는 펑 하고 소리라도 나지만 앱은 아무 소리도 안내고 그냥 꺼진다.
컴퓨터가 생긴지 얼마나 오래되었는데 왜 아직도  OS 에 크래시 오류가 있는지  모르겠다.  개떡 같이 프로그램을 이 짜도 OS 가 알아서 해주면 안되는가! 어쩔 수 없이  그런 날이 오기 전까지 소프트웨어 프로그래머는 최소한 크래시 오류는 안나게 짜야 한다.
 

앱 크래시 리포트 툴

개발 툴 중에 앱이 크래시 났을 때 소스 코드의 몇번 째 줄에서 오류가 났는지 알려주는  것들이 있다.
iOS 앱은 Xcode Organizer 을 통해서 알 수 있고 크래시 난 곳을 더블클릭하면 Xcode 가 실행되면서 해당 소스코스의 라인으로 이동한다.
Xcode orinizer
 
구글 firebase 의 Crashlytics 를 이용하면 iOS 나 안드로이드앱의 크래시 리포트를 볼 수가 있다.  크래시난 소스파일의 소스 라인 수 까지 보인다.
앱이 크래시 날 때 슬랙으로 알림 받기 (w/ 구글 firebase)

(이미지 출처)

 


참 신기하다.
 

릴리즈 된 앱의 크래시 파악

QA 중 크래시는 개발자가 알 수 있는데,  릴리즈 후에는 개발자가 시간을 내서  크래시 로그를 찾아 봐야 한다.
만약 심각하게 많이 나고 있다면 그중  열 받은 사용자가 고객 센터로 문의하고, 그래서 다시 개발팀으로 들어와야 알 수 있다.  1000명 중에서 한명 정도가 신고를 할지 모르니 신고가 없더라도 크래시가 없는 것은 아니다. 또는 몇 건 안되더라도 중요한 고객의 크래시는 심각해질 수 있다.
개발하는 입장에서 앱이 크래시 났을 때 빨리 알 수록 좋다.  매일 크래시 리포트를 볼 수 도 있지만 실시간으로 알림을 받으면 어떨까?
사용자가 클래시가 날때 실시간으로  크래시 알림을 받아 보았다.
 
아… 크래시 알림을 받을 때 마다 가슴이 철렁 내려 앉는다.  그래서 더 빨리 고치게 되는 것 같지만 심장이 약한 사람은 하면 안 될 것 같다.
 
 

슬랙으로 firebase  crashlytics  앱 크래시 알림을 받을 수 있다

 
슬랙은 웹훅을 제공한다. 그래서 외부에서 슬랙의 특정 채널로 메시지를 보낼 수 있다.  기업용 GitHub 도 글이 올라올때 슬랙으로 알림을 받을 수 있다. 
혹시 firebase 도 있지 않을 까 해서 찾아 보았다.
있다!
파이어베이스에서도 슬랙의 웹 후크를 이용해  특정 채널로 메시지를 보낼 수 있다.
다음은 슬랙의 채널로 받은 크래시 메시지 이다.
앱이 크래시 날 때 슬랙으로 알림 받기 (w/ 구글 firebase)
 
 

firebase 의 Crashlytics 에서 슬랙의 특정 채널에 알림 보내는 방법

원리는  간단하다.

  1. 알림을 받은 슬랙 채널의 웹 후크 URL을 찾아서
  2. 파이어베이스의 해당 프로젝트에서 연결해 주면 된다.

 
정리 해 보았다.
 

1. 슬랙에서 알림 받을 채널의 웹 훅 주소 찾기

 
1.슬랙에가서 webhook 으로 검색해서 Incoming Webhooks 을 찾는다.
슬랙에서 알림 받을 채널의 웹 훅 주소 찾기
 
2.Add Configuration 을 클릭한다.
슬랙에서 알림 받을 채널의 웹 훅 주소 찾기
 
3.알림을 받을 채널을 선택하거나 채널을 만든다
앱이 크래시 날 때 슬랙으로 알림 받기 (w/ 구글 firebase)
 
4. Webhook URL를 복사한다
앱이 크래시 날 때 슬랙으로 알림 받기 (w/ 구글 firebase)
 
 

2. firebase 에서 슬랙의 웹 훅을 연결

 
1.파이어베이스 콘솔에 들어가서 알림을 받을 프로젝트에 들어간다 .
2. 아래 그림과 같이 왼쪽의 톱니 바퀴 아이콘을 눌러 프로젝트 설정에 들어간다.
3. 메뉴 중 ‘통합’ 을 클릭 하고, Slack  을 찾아 ‘관리’ 링크를 클릭한다.
앱이 크래시 날 때 슬랙으로 알림 받기 (w/ 구글 firebase)
 
4. Slack 통합에서 ‘새 Slack 연결 추가’ 를 클릭한다.
앱이 크래시 날 때 슬랙으로 알림 받기 (w/ 구글 firebase)
 
5.  가져온 웹훅 URL을 편집창에 붙여 넣고 채널과 게시사용자 이름을 넣고 [확인 및 저장] 을 클릭해 저장한다.
앱이 크래시 날 때 슬랙으로 알림 받기 (w/ 구글 firebase)
 
다 됐다.
이제 앱에서 크래시가 나면 슬랙에서 알림을 받을 수 있다.
firebase crashlytics 를 테스트 하는 것 중에 강제로 앱을 크래시 나게 하는 방법이 있는데 이 방법으로 크래시 테스트를 해봐도 되고,  파이어베스 콘솔에서 테스트 메시지 보내기 메뉴로 알림이 오는지 테스트해 볼 수 있다.
 
 
그런데 모든 크래시가 알림으로 오는 것은 아닌 것 같다. 웹 후크 쿼터가 있는지 아니면 구글 파이어베이스 크래시의 트리거가 가끔 보내는지는 모르겠다.
그래도 슬랙의 띵 소리가 다른 슬랙의 메시지와 다르게 가슴을 철렁 내려앉게 한다.  없을 때가 좋았다는 생각을 하게 된다. ㅎㅎ
 
 







제휴 링크로 구매 시 제휴마케팅 활동의 일환으로 일정액의 수수료를 지급받아 콘텐츠를 제작하는데 큰 도움이 됩니다.



도움이 되셨다면, 댓글이나 소중한 커피 한 잔 부탁드려도 될까요?

커피 사주기
























당신이 좋아할 만한 글







연락처맵: 지도위의 고객관리
4.6
연락처를 지도에서 한눈에, 위치기반의 연락처관리, 내 근처의 연락처보기









Add a Comment

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다