1부. 푸시 전송 테스트 결과.
2부. 구글 파이어베이스를 통한 API 푸시 전송.
푸시 전송에 대해 현재 업무에 적용한 내용을 공유 합니다.
일반적으로 알고있는 지식은
안드로이드 폰은 푸시 팝업 디자인을 커스텀 할 수 있고,
아이폰은 커스텀 할 수 없습니다.
그런데 조금 더 자세히 들어가면,
파이어 베이스를 통한 푸시를 할 때,
안드로이드는 아래와 같이 보내면 푸시 화면을 커스텀 할 수 없고
안드로이드는 아래와 같이 보내면 푸시 화면을 커스텀 할 수 없고
{
"message":{
"notification": {
"title": "타이틀",
"body": "내용"
}
}
커스텀 할 수 있도록 noticication 을 사용하지 않고 보내야 합니다.
{
"message":{
"data": {
"title": "타이틀",
"body": "내용"
}
}
Background 모드에서 서비스로 푸시 수신이 오지 않기 때문입니다.
그리고 아이폰은 OS 규칙대로 보내야 하기 때문에,
첫번째처럼 notification 이 필요 합니다.
첫번째처럼 notification 이 필요 합니다.
...
그래서 원래는 title, body만 보내면 되는 서버 메세지를
아이폰, 안드로이드가 원하는 형태로 인식 할 수 있도록.
아래와 같이 변형 하여 보내게 되었죠.
{
"message":{
"token" : "토큰",
"apns": {
"payload": {
"aps": {
"alert": {
"title" : "제목입니다",
"body" : "내용입니다"
},
"badge" : 0,
"mutable-content": 1
},
"image": "이미지 주소"
}
},
"data" : {
"title" : "제목입니다",
"body": "내용입니다",
"image":"이미지 주소",
"systemType":"06c01345804b4ef38da9d565c80a921b",
"messageType": "2734cf7558534d8aa40550f2afc0f9ca",
"createDate":"2020-11-09 11:07:34",
"receiver":"8D8051783E0A457CA230B4E3D616FD0C"
}
}
}
이 규칙은 v1버전 HTTP 전송방법 에 자세히 나와 있습니다.
이렇게 만들어 보내면,
아이폰은 apns 에 의해 푸시가 보내지고,
안드로이드는 data를 읽어서 커스텀 하게 됩니다.

댓글
댓글 쓰기