본문 바로가기

전체 글9

iOS, Android 별 Foreground, Background 푸시 알림 알아보기 모바일 푸시를 보낼 때 Notification에 값을 넣는 방식(OS기본 푸시 알림)과 Data필드를 이용하는 방식(앱에서 푸시 처리)이 있다. 아래는 이 값에 따라 앱이 Foreground와 Background 일 때 어떻게 처리하는지 ChatGPT의 답변이다. 안드로이드에서 data와 notification 사용에 관한 동작 안드로이드 앱이 백그라운드 상태일 때 FCM이 보내는 푸시 알림은 기본적으로 notification 부분이 시스템에 의해 처리되어 사용자에게 알림으로 표시됩니다. 이 경우, 앱이 백그라운드에 있을 때 notification의 title과 body가 사용자에게 표준 알림으로 보여집니다. 반면, data 부분은 앱이 클릭되어 활성화될 때까지 앱에서 직접 접근하거나 사용할 수 없습니다.. 2024. 2. 7.
iOS, Android에서 firebase-admin을 통해 FCM 푸시 알림 보내기 Android import firebase_admin from firebase_admin import credentials, messaging # Firebase 프로젝트의 서비스 계정 키 파일로 Firebase Admin 초기화 cred = credentials.Certificate('path/to/fcm-signkey.json') firebase_admin.initialize_app(cred) # 메시지 정의 message = messaging.Message( data={ 'score': '850', 'time': '2:45', }, notification=messaging.Notification( title='Match update', body='Arsenal vs Chelsea', ), andro.. 2024. 2. 7.
AWS SNS를 이용한 Topic 기반 Push Notification 글 작성 타임어택: 10분 AWS SNS를 이용해 Push Notification(이하 '푸시 알림')구현을 시도했는데 생각보다 관리포인트도 많고 잘 납득되지 않는 부분도 있어 FCM을 직접 쓰는 것으로 진행했다. 무엇이 불편했는지 써본다. SNS를 이용하려면 관련 Topic을 먼저 생성해야 한다. Topic으로 메시지가 들어오면 이메일이나 SMS, 기타 플랫폼 애플리케이션 엔드포인트로 트리거 할 수 있다. 나는 모바일 푸시 엔진으로 FCM을 선택했다. FCM에서 앱 생성 후 키를 받고 이를 SNS에 업로드하면 쉽게 연동된다. 문제는 SNS Topic을 각 모바일앱(클라이언트)가 구독하고 해지하는 과정이 너무 번거롭고 불편했다. SNS를 이용한 푸시 알림을 보내려면 각 모바일앱이 FCM으로부터 획득한 토.. 2024. 1. 30.
모바일앱과 Spring boot 백엔드 연동을 통한 소셜로그인 구현 소셜로그인을 진행하기 위해선 클라이언트(여기서는 모바일앱)에 로그인한 사용자 계정 정보가 필요하다. 그래야 백엔드에 해당 이메일이면 이메일 등 계정 식별자로 회원가입이나 로그인처리를 진행할 수 있다. 크게 보면 다음과 같은 순서를 가진다. 정해진 표준 프로세스가 있는 것은 아니어서 각자 구현 방식에 따라 다르니 참고만. 1. 모바일앱에서 사용자 계정 정보 획득 모바일앱에서 해당 소셜로그인 공급자가 제공한 SDK를 이용하여 사용자 로그인 후 응답값을 벡엔드로 보낸다. 카카오와 네이버의 경우 AccessToken을 발급받을 수 있다. 구글의 경우, AccessToken을 바로 주지 않고 Id Token과 AuthCode라는 걸 받을 수 있다. Id Token은 OpenID Connect 프로토콜에 맞춘 JW.. 2023. 12. 28.