본문 바로가기
카카오 REST API & SDK/푸시 알림

카카오 디벨로퍼스 푸시알림 사용자 Firebase Cloud Messaging API(HTTP V1)로 마이그레이션 방법 안내

by kakao-TAM 2024. 5. 15.

최근 Firebase에서 2024년 6월 20일에 FCM 레거시 HTTP 지원을 중단할 예정이라고 공지하였습니다. 이에 따라 기존 FCM Server Key를 이용한 푸시 알림 사용자는 Google Firebase Cloud Messaging 마이그레이션을 진행해야합니다. 이 글에서는 기존 카카오 디벨로퍼스 푸시알림 사용자들이 어떻게 마이그레이션 해야하는지 기술합니다.


(1) HTTP v1 로 인한 변경사항 이해

기존 FCM 레거시 HTTP 방식 푸시 알림은 Firebase 프로젝트 설정에서 생성한 152 Byte 해시 토큰 값을 사용했습니다.

[firebase 프로젝트 설정 > 클라우드 메시징 > 서버 키 설정]
[카카오 디벨로퍼스 > 제품 설정 > 푸시알림 > FCM Key(서버키) 설정]

 

새로운 HTTP v1 방식은 Google Cloud 서비스 계정을 등록하고 Oauth2 보안 모델에 따라 수명이 1시간으로 짧은 액세스토큰을 서버키 대신 이용합니다. 

[firebase 프로젝트 설정 > 클라우드 메시징 > 서비스 계정 설정]
[Google Cloud > 서비스 계정 ]

카카오 디벨로퍼스 푸시 알림은 "Google Cloud > 서비스 계정"에서 생성한 비공개 키 Json 파일을 디벨로퍼스 설정에 등록하고 기존과 동일하게 사용하는 방식입니다. 

[Google Cloud > 서비스 계정 > 비공개 키 만들기]

(2) 푸시 알림 호출 방법 

AS-IS (firebase Curl 호출)

curl -X POST 
--header "Authorization: key=firebase 서버키" 
--header "Content-Type: application/json" https://fcm.googleapis.com/fcm/send 
-d '{"to" : "device token",  "priority" : "high",  
"notification" : {    "body" : "바디 내용",    "title" : "푸시 알림"  },  
"data" : {    "title" : "푸시",    "message" : "메세지"  }}'

TO-BE

curl -X POST 
--header "Authorization: Bearer <Google Cloud Oauth 2.0 token>" 
--header "Content-Type: application/json" 
https://fcm.googleapis.com/v1/projects/myproject-b5ae1/messages:send 
-d '{"to" : "device token",  "priority" : "high",  
"notification" : {    "body" : "바디 내용",    "title" : "푸시 알림"  },  
"data" : {    "title" : "푸시",    "message" : "메세지"  }}'

AS-IS (Kakao 푸시알림 API Curl 호출)

https://kakao-tam.tistory.com/71 참고

토큰등록
curl -v -X POST "https://kapi.kakao.com/v2/push/register" \
  -H "Authorization: KakaoAK {APP_ADMIN_KEY}" \
  -d "uuid=1234" \
  -d "device_id=0f365b39534470&push_type=fcm" \
  -d "push_token=APA91bEZ3fjwrKV2mxAFvZMC960zKBWBVffLErwZgFzsF..."
  
 푸시알림 보내기 
curl -v -X POST "https://kapi.kakao.com/v2/push/send" \
  -H "Authorization: KakaoAK {APP_ADMIN_KEY}" \
  -d 'uuids=["1234", "5678"]'  \
  --data-urlencode 'push_message={
  "for_fcm":{
     "notification" : {    "body" : "바디 내용",    "title" : "푸시 알림"  }
  }
}'

TO-BE

변경 사항 없음

(3) 디벨로퍼스 설정 방법

"내 애플리케이션>제품 설정>푸시 알림: Android 인증 정보"에 Google Cloud 에서 다운로드 받은 Json 비공개 키 파일 업로드

 

 

 

댓글