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

모바일 앱 사용중에 갑자기 꺼지는 경우가 있다. 이걸 비정상 종료 또는 크래시라고 한다.  주로 프로그램안에서  null , 없는 배열 인덱스, 없는 속성 등을 접근하거나 메모리가 부족할때 일어난다.  산신령과 지니는 펑 하고 소리라도 나지만 앱은 아무 소리도 안내고 그냥 꺼진다.

컴퓨터가 생긴지 얼마나 오래되었는데 왜 아직도  OS 에 크래시 오류가 있는지  모르겠다.  개떡 같이 프로그램을 이 짜도 OS 가 알아서 해주면 안되는가! 어쩔 수 없이  그런 날이 오기 전까지 소프트웨어 프로그래머는 최소한 크래시 오류는 안나게 짜야 한다.

 

앱 크래시 리포트 툴

개발 툴 중에 앱이 크래시 났을 때 소스 코드의 몇번 째 줄에서 오류가 났는지 알려주는  것들이 있다.

iOS 앱은 Xcode Organizer 을 통해서 알 수 있고 크래시 난 곳을 더블클릭하면 Xcode 가 실행되면서 해당 소스코스의 라인으로 이동한다.

Xcode orinizer

 

구글 firebase 의 Crashlytics 를 이용하면 iOS 나 안드로이드앱의 크래시 리포트를 볼 수가 있다.  크래시난 소스파일의 소스 라인 수 까지 보인다.

(이미지 출처)

 

참 신기하다.

 

릴리즈 된 앱의 크래시 파악

QA 중 크래시는 개발자가 알 수 있는데,  릴리즈 후에는 개발자가 시간을 내서  크래시 로그를 찾아 봐야 한다.

만약 심각하게 많이 나고 있다면 그중  열 받은 사용자가 고객 센터로 문의하고, 그래서 다시 개발팀으로 들어와야 알 수 있다.  1000명 중에서 한명 정도가 신고를 할지 모르니 신고가 없더라도 크래시가 없는 것은 아니다. 또는 몇 건 안되더라도 중요한 고객의 크래시는 심각해질 수 있다.

개발하는 입장에서 앱이 크래시 났을 때 빨리 알 수록 좋다.  매일 크래시 리포트를 볼 수 도 있지만 실시간으로 알림을 받으면 어떨까?

사용자가 클래시가 날때 실시간으로  크래시 알림을 받아 보았다.

 

아… 크래시 알림을 받을 때 마다 가슴이 철렁 내려 앉는다.  그래서 더 빨리 고치게 되는 것 같지만 심장이 약한 사람은 하면 안 될 것 같다.

 

 

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

 

슬랙은 웹훅을 제공한다. 그래서 외부에서 슬랙의 특정 채널로 메시지를 보낼 수 있다.  기업용 GitHub 도 글이 올라올때 슬랙으로 알림을 받을 수 있다. 

혹시 firebase 도 있지 않을 까 해서 찾아 보았다.

있다!

파이어베이스에서도 슬랙의 웹 후크를 이용해  특정 채널로 메시지를 보낼 수 있다.

다음은 슬랙의 채널로 받은 크래시 메시지 이다.

 

 

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

원리는  간단하다.

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

 

정리 해 보았다.

 

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

 

1.슬랙에가서 webhook 으로 검색해서 Incoming Webhooks 을 찾는다.

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

 

2.Add Configuration 을 클릭한다.

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

 

3.알림을 받을 채널을 선택하거나 채널을 만든다

 

4. Webhook URL를 복사한다

 

 

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

 

1.파이어베이스 콘솔에 들어가서 알림을 받을 프로젝트에 들어간다 .

2. 아래 그림과 같이 왼쪽의 톱니 바퀴 아이콘을 눌러 프로젝트 설정에 들어간다.

3. 메뉴 중 ‘통합’ 을 클릭 하고, Slack  을 찾아 ‘관리’ 링크를 클릭한다.

 

4. Slack 통합에서 ‘새 Slack 연결 추가’ 를 클릭한다.

 

5.  가져온 웹훅 URL을 편집창에 붙여 넣고 채널과 게시사용자 이름을 넣고 [확인 및 저장] 을 클릭해 저장한다.

 

다 됐다.

이제 앱에서 크래시가 나면 슬랙에서 알림을 받을 수 있다.

firebase crashlytics 를 테스트 하는 것 중에 강제로 앱을 크래시 나게 하는 방법이 있는데 이 방법으로 크래시 테스트를 해봐도 되고,  파이어베스 콘솔에서 테스트 메시지 보내기 메뉴로 알림이 오는지 테스트해 볼 수 있다.

 

 

그런데 모든 크래시가 알림으로 오는 것은 아닌 것 같다. 웹 후크 쿼터가 있는지 아니면 구글 파이어베이스 크래시의 트리거가 가끔 보내는지는 모르겠다.

그래도 슬랙의 띵 소리가 다른 슬랙의 메시지와 다르게 가슴을 철렁 내려앉게 한다.  없을 때가 좋았다는 생각을 하게 된다. ㅎㅎ

 

 




0 글이 마음에 드시면 하트를 눌러주세요~ 블로거에게 힘이 됩니다 (SNS/로그인/광고 관련 없습니다)










이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받고 있습니다.