본문 바로가기
언어/PHP

리눅스 FCM push message 전송

by 코딩히어로 2021. 12. 13.
728x90

리눅스 Centos7에서 FCM메시지를 전송하기 위해서 PHP를 사용했지만

 

진행하는 프로젝트가 TCP/IP C언어 프로그램에서 전송해야 되는 시스템이라 다음과 같이 구성하였습니다.

 

 

C언어에서는 curl 라이브러리를 통해 php에 push 메시지에 대한 내용을 전달합니다.

curl 라이브러리를 통해 POST로 push.php 파일로 data를 전송합니다.

 

push message를 실질적으로 FCM Server로 전달하는 일은 push.php에서 담당합니다.

 

 


FCM으로 메세지를 전송할 때 두 가지 방법으로 보낼 수 있습니다.

 

첫 번째는 해당 기기에게만 보내는 방법,

 

두번째로는 전체 사용자에게 보내는 방법입니다.

 

먼저 해당 기기에 보내기 위해서는 기기의 고유 token값을 알고 있어야 합니다.

3번째 줄 $fcm_key라고 되어있는 변수에 기기의 token값을 넣어줍니다.

 

두 번째로 전체 사용자에게 보내는 방법은 단순합니다.

$fcm_key token값이 들어간 위치에 문자열로 /topics/all을 입력하면 됩니다.

 

여기서 중요한 메시지를 전송할 때 중요한 내용이 한 가지 있습니다.

 

메시지를 전송하고 수신함에 있어 해당 기기가 Sleep모드에 들어가 있다면

 

메시지를 전송받지 못하고 화면이 켜지는 상황에서만 수신이 되는 문제가 발생하는데,

 

이 부분은 메시지 우선순위라는 옵션으로 해결이 가능합니다.

 

평소에 기본 default 값은 normal로 설정되어 있으나 4번째 줄 중간에

 

priority를 high로 설정해서 메시지를 전송하면 기기가 sleep 모드에 들어감과 상관없이

 

메시지 즉시 수신이 가능합니다.

728x90
반응형

'언어 > PHP' 카테고리의 다른 글

PHP GET/POST 데이터 받는 함수  (13) 2022.03.11
라디오 버튼 구현  (4) 2022.02.14
PHP 디버깅 로그 출력  (8) 2022.01.13
php logfile 출력  (0) 2021.10.26
PHP 전화번호 저장시 맨앞에 0이 없어지는 문제 해결  (0) 2021.09.15

댓글