본문 바로가기

공부/기타

[FCM XMPP] C. FCM XMPP 서버 프로토콜

1. 엔드포인트

// Production
fcm-xmpp.googleapis.com:5235

// Testing
fcm-xmpp.googleapis.com:5236

2. 전송 페이로드


    /**
     * https://firebase.google.com/docs/cloud-messaging/xmpp-server-ref?hl=ko#ccs
     * https://firebase.google.com/docs/cloud-messaging/concept-options?hl=ko#notifications_and_data_messages
     * 
     * 대상 
     * to - (필수 / 문자열) : 메시지의 수신자를 지정
     * 
     * 옵션
     * message_id - (필수 / 문자열) :  XMPP 연결에서 메시지를 고유하게 식별
     * priority - (선택 / 문자열) : 메시지의 우선순위를 설정합니다. 유효한 값은 'normal' 및 'high'입니다
     * content_available - (선택 / boolean) : 알림이나 메시지가 전송될 때 
     * 이 매개변수가 true로 설정되어 있으면 비활성 클라이언트 앱이 활성 상태로 전환되고, 
     * 메시지가 FCM 연결 서버를 거치지 않고 APN을 통해 자동 알림으로 전송됩니다.
     * 
     * 페이로드 
     * data - (선택 / 개체) : 메시지 페이로드의 키-값 쌍을 지정합니다.
     * notification - (선택 / 개체) : 사용자에게 표시되는 사전 정의된 알림 페이로드의 키-값 쌍을 지정합니다.
     * 
     * 웹(자바스크립트) — 알림 메시지 키
     * title - (선택 / 문자열) :  알림의 제목입니다.
     * body - (선택 / 문자열) : 알림의 본문입니다.
     * icon - (선택 / 문자열) : 알림 아이콘에 사용할 URL입니다.
     * click_actin - (선택 / 문자열) : 사용자의 알림 클릭과 관련된 작업입니다. 모든 URL 값은 보안 HTTPS여야 합니다.
     * 
     */

    {
        "to": "token",
        "priority": "high",
        "message_id": "",
        "content_available": "",
        "data": {
            "request_uid": "",
            "notiImg", "",
            "notification": {
                "title": "",
                "body": "",
                "click_action": "",
                "icon": "",
                "requireInteraction": "false"
            }
        }
    }