본문 바로가기
Developer/iOS, Swift

[Swift] 서버에서 FCM 접근, iOS로 PUSH 푸시 보내기

by Doony 2020. 2. 27.

iOS와 FCM을 연동시키고, FCM 콘솔에서 테스트 메시지를 보내는 것까지는 자료가 많아서 금방 했습니다. 제가 얼마전에 올린 FCM 관련 포스팅도, 굳이 정리할 필요 없이 다른 분들이 정리를 잘해주셔서 그대로 링크 주소만 따왔었는데요.


오늘은 별도의 서버에서 FCM에 POST하여, iOS 디바이스에 푸시알람을 주는 방법에 대해 알아보겠습니다.

안드로이드와 iOS는 보내는 JSON 포맷이 다르다!!

  • FCM 서버에 POST하는 JSON 포맷이 다릅니다. 먼저 안드로이드는 다음과 같습니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
import requests
import json
 
url = "https://fcm.googleapis.com/fcm/send"
 
data = {
  "to""Android Device Key"
  "data""I am Message"
}
 
dataJson = json.dumps(data)
headers = {'Authorization''key=FCM 서버 키'}
 
requests.post(url, data = dataJson, headers = headers)
cs
  • iOS는 다음과 같습니다. data 형태를 주목하시면 됩니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import requests
import json
 
url = "https://fcm.googleapis.com/fcm/send"
 
data = {
  "notification": {
    "title""나는 제목",
    "body""푸시알람 내용"
  },
  "content-available"1,
  "priority""high",
  "to""deviceKey"
}
 
 
dataJson = json.dumps(data)
headers = {'Authorization''key=FCM 서버 키'}
 
requests.post(url, data = dataJson, headers = headers)
cs

안드로이드에서는 푸시 메시지를 가공하여 표시가 가능하다! iOS는 불가능?!?

사실 안드로이드의 경우, 제목은 없고 내용만 보낼 수 있었던 이유가, 둘 다 앱 내에서 설정이 가능해서였습니다. iOS는 아직 이게 가능한지 도통 감이 안오네요.. 혹시 아시는 분이 계시다면 댓글로 알려주시면 감사하겠습니다!

댓글