0

Firebase 콘솔에서 알림을 보내는 것을 발견 한 후, 앱이 백그라운드 일 경우 onMessageReceived() 메소드가 호출되지 않습니다.HTTP 요청에서 Firebase onMessageReceived()가 호출되지 않음

그러므로 나는 HTTP POST 요청을 사용하는 사람들의 조언을 따랐다.

콘텐츠 형식 : 응용 프로그램/JSON

인증 : 나는 2 헤더 POST 요청을

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

를 만들기 위해 우체부를 사용하고 키 = ALSA ...... .6ryLiI

과 몸

{ 
"to" : "fzgh-aHiOd8:APA91bFcKuwuVq_2gbLydHkAZf9XLUzm9vPalh7EUQT3Kyj8mcW9raAs9QvxbHaGJ4-U4RnUJwJ3UaEarbMXiQ8rHnsx9UuYBDrOI9tJYB78_Z3VVR1l7H_6PGpCkdgINx8a4vvMXD9q", 
"notification" : { 
    "body" : "Sales!", 
    "title" : "ID Phone", 
    "icon" : "myicon" 
}, 
"data" : { 
    "data" : "sales", 

} 

}

이제 알림이 내 앱에 전달되지만 괜찮은 알림은 내가 원하는 맞춤 알림이 아닙니다. 즉, onMessageReceived()가 여전히 호출되지 않습니다.

누락 된 것이 있습니까?

+0

데이터 수신 여부를 확인하십시오. 등록자 ID 또는 서버 API가 올바르지 않을 수 있습니다. – Killer

+0

데이터를 수신하고 있습니다. 여전히 작동하지 않습니다. 감사합니다. – RJB

+0

알림 메시지를 보내고 앱이 백그라운드에있는 경우 알림 트레이에 알림이 표시됩니다. 앱의 'onMessageReceived'는 호출되지 않습니다. 이는 예상되는 동작입니다. http://stackoverflow.com/questions/37711082/how-to-handle-notification-when-app-in-background-in-firebase –

답변

2

onmessagereceived()에서 메시지를 가져 오려면 데이터 페이로드를 정의해야합니다. 알림 태그는 알림 전용입니다.

는 GCM documentation에서이 참조 : 사용자 정의 키/값 쌍

데이터 메시지

설정 데이터를 클라이언트 응용 프로그램에 데이터 페이로드를 보낼 수 있습니다. 데이터 메시지는 최대 4KB의 페이로드를 가질 수 있습니다.

{ 
    "to" : "bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...", 
    "data" : { 
    "Nick" : "Mario", 
    "body" : "great match!", 
    "Room" : "PortugalVSDenmark" 
    }, 
} 
: 예를 들어

, 여기에 정보 데이터 에 캡슐화되고 클라이언트 응용 프로그램이 내용을 해석 할 것으로 예상된다 위와 같은 IM 응용 프로그램에서 JSON 형식의 메시지입니다

편집

Content-Type - application/json 
Authorization - key=ALsa.......6ryLiI 
교체

Content-Type:application/json 
Authorization:key=ALsa.......6ryLiI 
+0

다른 실수를 발견하고 내 대답을 편집했습니다. – uguboz

+0

덕분에 많은 도움이되었습니다. 허용 된 것으로 표시된 – RJB

관련 문제