重眀殿
FCM 문자메세지 서비스 관련한 내용 본문
FCM 유니티 서비스를 보면 기기 그룹으로 보내기 설정이 있다.
HTTP POST 요청
https://fcm.googleapis.com/fcm/notification에 다음과 같이 요청을 보냅니다.
https://fcm.googleapis.com/fcm/notification
Content-Type:application/json
Authorization:key=API_KEY
project_id:SENDER_ID
{
"operation": "create",
"notification_key_name": "appUser-Chris",
"registration_ids": ["4", "8", "15", "16", "23", "42"]
}
예제에는 이렇게 되어 있는데
여기서 햇갈릴 수 있는 부분을 다뤄 보도록 할것이다.
header 값으로 집어넣는 부분 부터 이다.
Content-Type:application/json
Authorization:key=API_KEY
project_id:SENDER_ID
여기서 중요한것은 Authorization , project_id인데
실제 서술 함에 있어서는 이렇다.
또 나는 Authorization 값과 project_id 값을 을 유니티에 삽입하는 google-service.json 파일을 응용하는줄 알았는데 그게 아니다.
Authorization 값은 FCM 콘솔에서
이것처럼 서버키가 Authorization 값이고 sender_id 는 발신자 값이다.
그리고 대망의
"registration_ids": ["4", "8", "15", "16", "23", "42"] 이값 이거는 콘솔 설명에서
이렇게 숫자로 써놓으니까 이게 멀까 하는 의문이 들수 밖에 없다. 일단 결론부터 말하자면 정수 숫자값이 절대 아니다.
유니티 앱을 실행하면 첨에 파이어베이스 실행할때 token 값을 주는데 바로 그 토큰 값이 들어가야 된다.
예들들어 firebase 예제 소스로 주어진
public void OnTokenReceived(object sender,TokenReceivedEventArgs token)
{
Debug.Log("Received Registration Token " + token.Token);
}
여기서 추출할수 있는 바로 저 토큰값이 들어간다. 그래서 실제로 보면 이런식이다.
이런식으로 졸라 긴 hash 값이 들어가게 된다 첨에는 저 값이 먼 값인지 몰라서 벙쪘다.
https://stackoverrun.com/ko/q/10568285
android - FCM은 여러 registration_ids를 대상으로하는 단일 등록 ID에 대한 응답을 반환합니다.
FCM 구현의 응용 프로그램 서버 측에서 여러 장치에 특정 메시지를 보낼 곳을 작성 중입니다. 나는 그러나 {"multicast_id":7185150746202793615,"success":0,"failure":1,"canonical_ids":0,"results":[{"error":"InvalidRegistrati
stackoverrun.com
이예시를 보면 좀더 이해가 빠르다. 다음에 할때는 햇갈리지 말자
가즈아