기본 콘텐츠로 건너뛰기

Flutter GoogleSignInException 해결기 - Debug는 되는데 Release에서만 Google 로그인 실패하는 이유

Flutter로 안드로이드 앱을 개발하면서 Google Sign-In과 Firebase Authentication을 함께 사용하는 경우가 많다. 나 역시 Windows 환경에서 Antigravity IDE를 사용하여 Flutter 앱을 개발하고 있었고, 개발 중에는 Google 로그인이 정상적으로 동작했다. 하지만 앱을 Google Play Console의 내부 테스트 트랙에 배포한 후 테스트를 진행하자 예상치 못한 문제가 발생했다. Google Sign-in failed. GoogleSignInException( code: GoogleSignInExceptionCode.canceled, activity is cancelled by the user. ) 처음에는 정말 사용자가 로그인을 취소한 것처럼 보였다. 하지만 실제 원인은 전혀 다른 곳에 있었다. Debug에서는 정상인데 Release에서는 왜 실패할까? 개발 중에는 Antigravity에서 Debug 모드로 실행했기 때문에 모든 것이 정상적으로 동작했다. Google 계정을 선택하면 Firebase Authentication까지 문제없이 로그인되었다. 하지만 Release App Bundle(AAB)을 만들어 Google Play 내부 테스트에 업로드한 후 설치하면 Google 계정 선택 이후 바로 예외가 발생했다. 처음에는 Firebase 설정이나 코드의 문제라고 생각했지만, 실제 원인은 앱이 서명(Signing)되는 방식에 있었다. Google Sign-In은 SHA-1을 이용해 앱을 인증한다 Google Sign-In은 단순히 패키지 이름만 확인하는 것이 아니다. Android 앱은 다음 두 가지 정보를 이용해 인증된다. Package Name SHA-1 인증서 지문 Firebase Console에 Android 앱을 등록할 때 SHA-1을 입력하는 이유도 바로 이것이다. Debug 환경에서는 Debug Keystore의 SHA-1이 사용된다. Release APK를 직접 설치하면 Relea...

숙면을 돕는 음식과 피해야 할 음식 총정리

 좋은 수면은 건강한 삶의 필수 요소다. 하지만 바쁜 일상과 스트레스로 인해 불면증을 겪는 사람들이 많다. 수면의 질을 높이기 위해서는 생활 습관뿐만 아니라 음식 선택도 중요하다. 이번 글에서는 숙면을 돕는 음식과 피해야 할 음식을 정리해 본다.

숙면 음식


1. 숙면을 돕는 음식

① 바나나

바나나는 마그네슘과 칼륨이 풍부하여 근육을 이완시키고 신경을 안정시키는 데 도움이 된다. 또한 트립토판이 함유되어 있어 멜라토닌과 세로토닌 분비를 촉진해 숙면을 유도한다.

② 체리

체리는 멜라토닌 함량이 높은 과일로, 자연적으로 수면 사이클을 조절하는 데 효과적이다.

③ 아몬드

아몬드에는 마그네슘과 단백질이 포함되어 있어 근육을 이완시키고 혈당 수치를 안정적으로 유지해 준다. 또한, 트립토판이 포함되어 있어 수면 호르몬 생성을 촉진한다.

④ 귀리

귀리는 멜라토닌과 복합 탄수화물이 풍부해 뇌에서 세로토닌 생성을 돕는다. 세로토닌은 신경을 안정시키고 긴장을 풀어 숙면을 유도한다.

⑤ 따뜻한 우유

우유에는 트립토판과 칼슘이 포함되어 있어 멜라토닌 생성을 촉진한다. 특히, 따뜻한 우유를 마시면 몸이 편안해지며 쉽게 잠들 수 있다.

⑥ 캐모마일 차

캐모마일 차는 자연적인 진정 효과가 있는 허브티로, 수면을 유도하는 플라보노이드 성분을 포함하고 있다. 스트레스를 완화하고 신경을 안정시키는 데 도움을 준다.

2. 숙면을 방해하는 음식

① 카페인 함유 음료 (커피, 에너지 드링크, 녹차)

카페인은 각성 효과가 강해 수면을 방해한다. 특히 저녁 시간 이후에는 카페인 섭취를 피하는 것이 좋다.

② 알코올

술을 마시면 처음에는 졸릴 수 있지만, 깊은 수면을 방해하여 중간에 자주 깨거나 숙면을 취하기 어려워진다.

③ 매운 음식

고추, 마늘, 양파 등 매운 음식은 위산 역류를 유발할 수 있어 수면 중 불편함을 초래한다.

④ 지방이 많은 음식 (패스트푸드, 튀긴 음식)

고지방 음식은 소화하는 데 오랜 시간이 걸려 수면의 질을 떨어뜨릴 수 있다. 특히 늦은 밤에 먹으면 속이 더부룩해져 숙면이 어려워진다.

⑤ 초콜릿

초콜릿에는 카페인과 테오브로민이 함유되어 있어 신경을 각성시킬 수 있다. 특히 다크 초콜릿은 카페인 함량이 높아 늦은 밤 섭취를 피하는 것이 좋다.

3. 숙면을 위한 식습관 팁

  • 저녁 식사는 잠자기 3시간 전까지 마치는 것이 좋다.

  • 가벼운 간식을 원한다면 바나나, 견과류, 따뜻한 우유 등을 선택한다.

  • 과식은 피하고 소화가 잘되는 음식 위주로 섭취한다.

  • 카페인 섭취는 오후 2시 이후로 줄이는 것이 숙면에 도움된다.

  • 알코올은 피하고, 대신 수분을 충분히 섭취한다.

결론

수면의 질을 높이기 위해서는 올바른 식습관이 중요하다. 바나나, 체리, 아몬드, 우유 등은 숙면을 돕는 반면, 카페인, 알코올, 지방이 많은 음식은 피해야 한다. 규칙적인 식습관과 건강한 라이프스타일을 실천하면 보다 깊고 편안한 잠을 잘 수 있을 것이다.

댓글

이 블로그의 인기 게시물

호주 입국 신고서 작성법 총정리! 꼭 알아야 할 유의사항

 호주는 아름다운 자연과 높은 삶의 질로 많은 여행자와 유학생이 찾는 나라다. 하지만 입국 절차를 제대로 준비하지 않으면 공항에서 예상치 못한 문제를 겪을 수 있다. 그중에서도 "입국 신고서"는 필수적으로 작성해야 하는 문서 중 하나다. 이번 글에서는 호주 입국 신고서 작성법과 주의해야 할 사항 을 상세히 정리해 본다. 1. 호주 입국 신고서란? 호주 입국 신고서(Australian Incoming Passenger Card, IPC) 는 모든 여행자가 공항 입국 심사 시 제출해야 하는 서류다. 이는 세관 신고 및 검역 목적 으로 사용되며, 호주 정부가 여행자의 신상 정보와 반입 물품을 파악하는 데 도움을 준다. 2. 입국 신고서 작성 시기 및 방법 ① 언제 작성해야 할까? 호주 입국 신고서는 비행기 안에서 승무원이 배포 한다. 따라서 비행기가 호주 공항에 도착하기 전, 미리 작성해 두는 것이 좋다. ② 어떻게 작성해야 할까? 입국신고서 내용: 반드시 영어로 작성해야 한다. 개인 정보 입력: 여권에 기재된 영문 이름, 생년월일, 국적 등을 정확하게 기입한다. 호주 내 주소: 체류할 호텔이나 숙소 주소를 적어야 한다. 만약 정확한 주소를 모르면, 예약한 호텔 이름이라도 적어두는 것이 좋다. 방문 목적: 관광(Tourism), 사업(Business), 유학(Study) 등 방문 목적을 선택한다. 반입 물품 신고: 음식, 동식물, 의약품, 현금(10,000 AUD 이상) 등 신고해야 하는 품목이 있는지 체크 해야 한다. 특히 네 ( Yes )/아니오(No) 를 선택하는 부분에서는 잘 모르겠으면 무조건 네 ( Yes )에 체크해야 미신고 항목에 대한 벌금을 피할 수 있다. 건강 상태 및 범죄 이력: 최근 6일 이내에 방문한 국가 및 건강 상태에 대한 질문이 포함되며, 범죄 기록 여부도 체크해야 한다. 3. 신고해야 하는 물품과 주의사항 호주는 검역 규정이 매우 엄격한 국가 다. 따라서 아래와 같은 물품을 반입할 경우 반드시 신고해야 한다. ...

호주 485 졸업생 비자 비용 2배 인상! 2026년 변경 내용 총정리

2026년 3월부터 호주 정부가 졸업생 임시비자(Temporary Graduate Visa, Subclass 485) 신청 비용을 대폭 인상했다. 이번 조치는 국제학생 정책 변화의 일환으로 시행되었으며, 호주에서 학업을 마친 유학생들에게 상당한 영향을 줄 것으로 예상된다. 이 글에서는 485 비자 비용 인상 내용, 기본 조건, 그리고 유학생에게 미칠 영향 을 정리한다. 1. 호주 485 비자란 무엇인가 호주 졸업생 임시비자(Subclass 485) 는 호주에서 학업을 마친 국제학생이 일정 기간 동안 호주에서 거주하고 일할 수 있도록 허용하는 비자 다. 이 비자의 주요 목적은 다음과 같다. 호주 대학 졸업생에게 현지 취업 경험 제공 졸업 후 경력 개발 기회 제공 향후 영주권(PR) 신청을 위한 경력 확보 즉, 많은 유학생들에게 학업 이후 체류와 취업의 핵심 단계 로 활용되는 비자다. 2. 2026년 3월부터 485 비자 비용 대폭 인상 2026년 3월 1일부터 485 비자 신청 비용이 두 배로 인상 되었다. 변경 전 기본 신청비: AUD $2,300 변경 후 기본 신청비: AUD $4,600 이는 100% 인상 된 수준이며, 갑작스럽게 시행되어 많은 유학생들에게 부담이 되고 있다. 가족을 포함해 신청하는 경우 비용 은 다음과 같다. 주 신청자: $4,600 성인 동반자: $2,300 18세 미만 자녀: $1,160 예를 들어 배우자와 함께 신청하는 경우 총 비용이 6,900달러 이상 이 될 수 있다. 3. 이번 비자 비용 인상은 언제부터 적용되는가 이번 변경은 2026년 3월 1일부터 즉시 적용 된다. 즉 다음과 같은 경우 새로운 비용 이 적용된다. 2026년 3월 1일 이후 485 비자를 새로 신청하는 경우 이미 신청이 완료된 경우에는 이전 비용이 적용될 수 있지만, 신청 접수 날짜 기준으로 비용이 결정된다. 4. 485 비자의 기본 조건 호주 ...

Flutter GoogleSignInException 해결기 - Debug는 되는데 Release에서만 Google 로그인 실패하는 이유

Flutter로 안드로이드 앱을 개발하면서 Google Sign-In과 Firebase Authentication을 함께 사용하는 경우가 많다. 나 역시 Windows 환경에서 Antigravity IDE를 사용하여 Flutter 앱을 개발하고 있었고, 개발 중에는 Google 로그인이 정상적으로 동작했다. 하지만 앱을 Google Play Console의 내부 테스트 트랙에 배포한 후 테스트를 진행하자 예상치 못한 문제가 발생했다. Google Sign-in failed. GoogleSignInException( code: GoogleSignInExceptionCode.canceled, activity is cancelled by the user. ) 처음에는 정말 사용자가 로그인을 취소한 것처럼 보였다. 하지만 실제 원인은 전혀 다른 곳에 있었다. Debug에서는 정상인데 Release에서는 왜 실패할까? 개발 중에는 Antigravity에서 Debug 모드로 실행했기 때문에 모든 것이 정상적으로 동작했다. Google 계정을 선택하면 Firebase Authentication까지 문제없이 로그인되었다. 하지만 Release App Bundle(AAB)을 만들어 Google Play 내부 테스트에 업로드한 후 설치하면 Google 계정 선택 이후 바로 예외가 발생했다. 처음에는 Firebase 설정이나 코드의 문제라고 생각했지만, 실제 원인은 앱이 서명(Signing)되는 방식에 있었다. Google Sign-In은 SHA-1을 이용해 앱을 인증한다 Google Sign-In은 단순히 패키지 이름만 확인하는 것이 아니다. Android 앱은 다음 두 가지 정보를 이용해 인증된다. Package Name SHA-1 인증서 지문 Firebase Console에 Android 앱을 등록할 때 SHA-1을 입력하는 이유도 바로 이것이다. Debug 환경에서는 Debug Keystore의 SHA-1이 사용된다. Release APK를 직접 설치하면 Relea...