수색…


소개

서버에서 Firebase admin SDK가 실행중인 경우 , HTTP POST 요청 과 함께 두 가지 방법을 사용 하여이 작업을 수행 할 수 있습니다. 여기서 나는 그들 모두를 토론 할 것이다.

Firebase 클라우드 메시징 HTTP 프로토콜

서버 요청에서 아래 링크로 일부 요청 매개 변수를 사용하여 알림을 보냅니다.

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

다음과 같이 헤더 추가를 요청하는 중

Authorization    key=<Your_key_from_the_console>
Content-Type     application/json

요청의 본문은 다양합니다.

{
  "to" : <tokens or the topic>,
  "notification" : {
    "title":"This is a test title",
    "body":"This is the body"
  },
  "data": {
      //whatever key value payer you need to send  
  }
}

to 매개 변수는 다음과 같은 토큰 배열을가집니다.

["token1","token2",..........]

또는 같은 단일 토큰

"token"

/ topic / like로 시작하는 주제 이름

"/topic_name/"

||를 사용하여 여러 주제 사용 조건의 경우 및 && 연산자는

"/topic_name/ && /topic2/"

Admin SDK (노드 js) 사용

firebase sdk 및 admin SDK를 처음 시작합니다.

const functions = require('firebase-functions');
const admin = require('firebase-admin');

admin.initializeApp({
  credential: admin.credential.cert({
        //your admin credential certificate generated from the console. Follow this [link][1].
    }),
  databaseURL: "https:///<PROJECT_NAME>.firebaseio.com"
});

첫 번째 예제와 같이 페이로드 JSON 문자열을 만듭니다.

var payload = {
              notification: {
                title: "Title of the notification,
                body: "Body of the notification",
              },
              data:{
                //required key value pair
              }
            };

그런 다음 다른 send 메소드를 호출하여 알림을 보냅니다.

주제

admin.messaging().sendToTopic("/topic/", payload)
              .then(function(response) {
                console.log("Successfully sent message:", response);
              })
              .catch(function(error) {
                console.log("Error sending message:", error);
              });
            });

기기 용

admin.messaging().sendToDevice(token, payload).then(response=>{
                       response.results.forEach((result, index) => {
                        const error = result.error;
                        if (error) {
                          console.error('Failure sending notification to', tokens, error);
                        } else{
                          console.log('Sucessfully sent to '+tokens);
                        }
                      });


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow