투케이2K

66. (TWOK/WORK) [업무 이슈] 모바일 (Android, Ios) 파이어베이스 FCM 푸시 토큰 발급 및 앱 실행 중지 이슈 - Fcm Get Token Error 본문

투케이2K 업무정리

66. (TWOK/WORK) [업무 이슈] 모바일 (Android, Ios) 파이어베이스 FCM 푸시 토큰 발급 및 앱 실행 중지 이슈 - Fcm Get Token Error

투케이2K 2024. 8. 8. 19:47
반응형

[제 목]

[업무 이슈] 모바일 (Android, Ios) 파이어베이스 FCM 푸시 토큰 발급 및 앱 실행 중지 이슈 - Fcm Get Token Error

 

[내 용]

 

------------------------------------------------------------------------------
[이슈 사항]
------------------------------------------------------------------------------

1. 정상 구동 되던 앱이 갑자기 파이어베이스 푸시 토큰 발급을 하지 못하고 , 발급 확인 무한 대기 현상 및 앱 동작 중지 이슈

------------------------------------------------------------------------------
[원인 파악]
------------------------------------------------------------------------------

1. 사용자 휴대폰 네트워크 환경 점검 (네트워크 연결 된 상태)

  >> 와이파이, 모바일 네트워크 환경에서 모두 동일하게 해당 증상 발생


2. 소스 코드 수정 여부 및 특정 앱 버전 문제 인지 확인 수행

  >> 소스 코드 수정 이력 없음 , 특정 앱 버전 뿐만 아니라 배포 된 모든 앱 들이 동일한 증상 발생


3. 사용자 휴대폰 점검 : 휴대폰 로그인 계정 및 구글 로그인 계정이 정상 활성 상태 확인

  >> 정상 휴대폰 로그인 계정 확인


4. 프로젝트 빌드 설정 확인 및 디버깅 수행 

  >> google , maven , jcenter 에서 라이브러리를 가져오기 못하는 경우 확인 (라이브러리 빌드 성공 확인)
  >> 만약, 라이브러리 빌드가 안되는 경우 build.gradle 설정에서 google , maven , jcenter 의존성 불러오기 위치 변경
  >> jcenter 경우 자주 서버 다운 상태가 발생 >> maven , google 위주로 상단에 배치


5. 프로젝트에서 파이어베이스 implementation 의존성 부여 버전 확인

  >> 특정 라이브러리 버전이 문제인 경우 확인 (라이브러리 다운그레이드, 업그레드 수행 후 테스트 수행 시 동일 증상 발생)


6. 파이어베이스 푸시 토큰 확인 딜레이 타임 확인 (소스 코드 호출 > SDK > google 인증서 > 파이어베이스 서버 호출 과정)

  >> 파이어베이스 푸시 토큰 확인 시 딜레이 타임 확인 (토큰 확인 요청 시 즉시, Fail 떨어짐 확인)


7. 파이어베이스 자체 서버 이상 증상 예상 일정 시간 뒤 다시 재테스트 수행

  >> 2 ~ 4 시간 이후 다시 테스트 수행 시 정상 동작 확인 (파이어베이스 서버 일시적 에러 증상 예상)

------------------------------------------------------------------------------
[조치 내용]
------------------------------------------------------------------------------

1. 모바일 파이어베이스 푸시 토큰 확인 과정에서 핸들러 등록 및 일정 시간 타이머 동작 정의 (최대 3초 후 로그인 화면 자동 이동)


2. 파이어베이스 토큰 확인 onSuccess , onFail 성공 및 실패 시 즉시, 로그인 화면 이동 및 예정 된 핸들러 작업 취소

  >> 성공 한 경우 프리퍼런스 데이터에 토큰 값 저장
  >> 실패 한 경우 프리퍼런스 데이터 토큰 값 초기화 수행


3. 로그인 화면 접속 후 사용자 푸시 토큰 업로드 시 프리퍼런스 데이터에 저장된 값 업로드 수행 (브릿지 or API 통신 수행)


4. 서버 단에서는 전달 받은 푸시 토큰 값 확인 >> null 인 경우 DB 에 푸시 사용 여부 N 업데이트 >> 널이 아닌 경우 Y 업데이트 수행


5. 푸시 서버에서 푸시 발송 시 사전) 푸시 사용 여부 값 (Y , N) 확인 후 정상적으로 푸시 발송이 가능 한 경우에만 푸시 발송 수행

------------------------------------------------------------------------------

 

반응형
Comments