일기 slecs

릴리즈 Firebase 설정 갱신으로 인증 오류 방지

목차

안드로이드 프로젝트의 Google Services 설정 파일을 릴리즈 빌드용으로 갱신했다. 단순한 설정 파일 업데이트처럼 보이지만, 이 작업 흐름에는 릴리즈 배포 프로세스의 중요한 결정점들이 숨어 있다.

google-services.json이 담당하는 것

google-services.json은 Firebase(또는 Google Cloud 서비스)와 안드로이드 앱을 연결하는 중요한 설정 파일이다. 이 파일 안에는:

  • 프로젝트 ID, 클라이언트 ID
  • API 키
  • Google 서비스 인증 정보
  • 각 빌드 타입별(debug/release) 서명 인증서 정보

등이 포함되어 있다. 특히 릴리즈 빌드의 경우, 구글 플레이스토어에 배포하는 앱의 서명 인증서 정보가 이 파일에 정확하게 등록되어야 한다.

Release SHA는 왜 따로 등록하나

릴리즈 APK나 AAB를 만들 때 사용하는 키스토어 파일이 있다. 이 키스토어의 SHA-1 핑거프린트(release SHA)가 Google Console에 등록되어야 Firebase와의 통신이 정상적으로 이루어진다. 여기서 통신이란:

  • Firebase Analytics 수집
  • Firebase Authentication (Credential 검증)
  • Google Sign-In
  • FCM 푸시 알림

등 여러 구글 서비스들이 "이 앱이 인증된 앱이 맞는가"를 검증하는 과정이다.

단계 역할 수동 개입 자동화 가능
1. Release SHA 생성 키스토어 → 핑거프린트 추출 필수 (한 번만) keytool/fastlane
2. Google Console 등록 핑거프린트 입력 필수 (웹 UI) API 가능하지만 불안정
3. google-services.json 다운로드 Console → JSON 파일 필수 불가 (수동 UI만)
4. 저장소 커밋 파일 갱신 필수 Git workflow

특히 3번 단계는 아직도 Console UI에서만 다운로드할 수 있어서, 자동화 수준이 낮다. 내가 한 작업도 이 수동 프로세스의 일부였다.

왜 이 순서가 중요한가

만약 Release SHA를 등록하지 않고 구에서 적절하지 않은 google-services.json을 사용한다면? 릴리즈 빌드는 성공적으로 만들어질 수 있지만, 런타임에 Firebase 서비스들이 차단된다. 사용자 입장에서는:

  • 로그인이 안 된다 (Firebase Auth 실패)
  • 푸시 알림이 안 온다 (FCM 실패)
  • 분석 데이터가 수집 안 된다

이런 문제들이 발생한다. 그리고 대부분 QA 단계에서 발견되고, 발견되지 않으면 배포 후 사용자들이 겪는다.

팀 관점: Shared Configuration의 중요성

이 파일은 단순한 설정 파일이 아니라 팀 전체가 공유하는 중요한 설정이다:

  • 새로 합류한 팀원도 이 파일이 필요함
  • CI/CD 파이프라인도 이 파일을 참조함
  • 릴리즈 빌드할 때마다 "이 파일이 최신인가"를 확인해야 함

따라서 git 저장소에 항상 최신 버전을 유지하는 것은 "선택"이 아니라 "필수"다. 특히 팀장 입장에서는, 이런 critical한 설정 파일들이 제때 갱신되고 있는지 모니터링하는 것도 책임이다.

일반론: 자동화가 안 될 때의 대응

구글, 아마존, 애플 같은 대형 클라우드 사업자의 설정 파일도 여전히 수동 다운로드가 필요한 경우가 많다. 예를 들어:

  • AWS credentials, IAM role 갱신
  • Apple provisioning profile 다운로드
  • Firebase 설정 파일 갱신

이런 경우들에 대한 팀의 표준 운영 프로세스가 있으면 좋다:

  • 누가 언제 이 파일들을 갱신하는가?
  • 갱신 후 반드시 git에 커밋하는가?
  • 팀원들이 최신 버전을 받아갔는가?

내 경우, 릴리즈 체크리스트에 "google-services.json 최신 여부 확인"을 명시해 두었고, 이번 작업도 그 부분을 실행한 것이다.


결국 이 작업은 "작은 파일 한 개를 갱신"하는 것처럼 보이지만, 그 뒤에는 릴리즈 배포 프로세스의 신뢰성, 팀 커뮤니케이션, 자동화의 한계와 극복 방법이 모두 담겨 있다. 특히 베스트 프랙티스가 없는 팀은 이런 설정 파일 동기화 문제로 배포 단계에서 자주 막히곤 한다. 팀장으로서 이런 부분들을 미리 정리해 두는 것이 중요하다는 생각이 들었다.


🛒 이 글과 어울리는 추천 상품

*위 링크는 쿠팡파트너스 활동의 일환이며, 일정액의 수수료를 제공받을 수 있습니다.

댓글 0

첫 댓글 달아줘.