반응형
세상 간단한 php fcm 서버 연동하기
우선, fcm 서버 정보를 저장할 변수를 하나 만들겠습니다.
$fcmVal = curl_init("https://fcm.googleapis.com/fcm/send");
그리고 fcm 서버에 보낼 데이터를 만들어줍니다.
먼저 헤더..
$header = array("Content-Type:application/json", "Authorization:key=".$serverKey);
$serverKey 변수에 들어갈 값은 firebase 콘솔 페이지의 프로젝트 설정에서 확인 가능합니다.
실질적으로 푸시메시지에 담을 내용을 만들어줍니다.
$data = json_encode(array(
"data"=>array("body"=>"MESSAGE HERE", "title"=>"TITLE_HERE"),
"registration_ids"=>$my_ids
));
여기서 $my_ids 변수에 들어갈 내용은, 푸시메시지를 받을 대상들의 fcm 토큰 값입니다.
$my_ids는 array형태여야 합니다. ex) $my_ids = array('device token1' , 'device token2', ...);
대상이 1개일 때, 그리고 2개 이상일 때의 코드가 다르다고 하는데.. 저는 위 방법으로 해도 두가지 경우 모두 전송이 잘 됐습니다.
이제 헤더와 데이터를 fcm 서버에 전송해줍니다.
curl_setopt($fcmVal, CURLOPT_HTTPHEADER, $header);
curl_setopt($fcmVal, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($fcmVal, CURLOPT_POST, 1);
curl_setopt($fcmVal, CURLOPT_POSTFIELDS, $data);
curl_exec($fcmVal);
끝.. 이에요..
제대로 잘 작성되었다면, 웹 브라우저에서 지금 만든 페이지를 호출했을 때, 다음과 같은 내용이 출력됩니다.
results는 각 device마다의 결과를 보여주는 배열입니다. my_ids 배열에 여러개의 값이 들어있었다면, results 배열의 값도 여러개가 출력됩니다.
반응형
'PHP' 카테고리의 다른 글
PHP 날짜(시간)표기, 날짜 계산하기 (0) | 2021.02.01 |
---|---|
PHP 안드로이드 연동 기초 (0) | 2021.01.25 |