개발하는 두더지

kotlin + firebase 를 이용한 Push Notification 구현(3) 본문

Java,Android

kotlin + firebase 를 이용한 Push Notification 구현(3)

덜지 2018. 7. 19. 18:32

Postman으로 Push Notification 보내기


Postman에서 보낼 URL은 아래와 같습니다.

https://fcm.googleapis.com/fcm/send


헤더에 데이터를 보낼 타입과 인증키를 세팅합니다.


인증키는 파이어베이스 콘솔에서 프로젝트 세팅 -> 클라우드 메시징 -> 서버키를 복사하여 붙여넣습니다.



POST로 데이터를 전달하므로 Body raw를 선택하고 아래에 데이터를 넣습니다.


to      :      받을 대상  ( 단일기기 / 주제 등) 

data   :      알림 데이터

{
"to": "cCUg0OPRzD8:APA91bE8P12z7sS-hL1Egwic7Ut4FVnGbKDEeywZZxcwa4R9zbmJfjS_FpGFqW...",
"data" : {
    "body" : "First Notification",
    "title": "Collapsing A",
    "key_1" : "Data for key one",
    "key_2" : "Hellowww"
    }
}


전달에 성공하면 아래와 같은 결과가 출력됩니다. 당연히 앱에도 푸시 알림이 옵니다.

{
"multicast_id": 813563...970204,
"success": 1,
"failure": 0,
"canonical_ids": 0,
"results": [
    {
    "message_id": "0:153199262162...1e4f9fd7ecd"
     }
]
}




데이터를 보낼 때 몇가지 경우를 테스트해보았는데 결과가 다릅니다.


위 예제에서처럼 data만 전달하는 경우

앱이 foreground 일 때      :   onMessageReceived() 에 들어옴

앱이 background 일 때     :   onMessageReceived() 에 들어옴


"notification" : { 

      ...

notification만 전달하는 경우

앱이 foreground 일 때      :   onMessageReceived() 에 들어옴

앱이 background 일 때     :   작업표시줄에 알림만 뜸



data, notification 둘다 전달하는 경우

앱이 foreground 일 때      :   onMessageReceived() 에 들어옴

앱이 background 일 때     :   작업표시줄에 알림만 뜸




Comments