PHP FCM 연동해서 푸시 발송 > 개발팁

본문 바로가기
사이트 내 전체검색

개발팁

PHP FCM 연동해서 푸시 발송

페이지 정보

본문

PHP 에서 사용자 데이터베이스에서 푸시 설정 여부가 

설정되어 있는 사용자의 토큰을 가져와서 푸시를 보내야할 경우가 있다.


그럴 경우 데이터베이스에서 푸시 수신여부에 1(True)로 되어 있는 사용자를 Select 해서

토큰을 가져온 다음에 토큰 배열에 넣고 푸시 발송하면 된다.


// 함수 사용방법

function send_notification ($message)

{

$DB_IP ="데이터베이스 아이피";

$DB_ID ="데이터베이스 아이디";

$DB_PW ="데이터베이스 패스워드";

$DB_NAME ="데이터베이스명";

$DB_CONN = array("UID"=>$DB_ID, "PWD"=>$DB_PW, "Database"=>$DB_NAME,'ReturnDatesAsStrings'=>true);


$conn = sqlsrv_connect($DB_IP, $DB_CONN);

$url = 'https://fcm.googleapis.com/fcm/send';


$google_api_key = "파이어베이스->콘솔->프로젝트설정->Setting->클라우드메시징->서버키";

$tokens = array();

$query = "토큰 발송 대상자 토큰 리스트 추출 쿼리";

$result = sqlsrv_query($conn, $query);


while($row = sqlsrv_fetch_array($result)){

array_push($tokens, $row["Token"]);

}


sqlsrv_free_stmt($result);

sqlsrv_close($conn);

$fields = array(

'registration_ids' => $tokens,

'notification' => array('title'=>"푸시제목", 'body'=>$message),

);


$headers = array(

'Authorization:key =' . $google_api_key,

'Content-Type: application/json'

);



   $ch = curl_init();

       curl_setopt($ch, CURLOPT_URL, $url);

       curl_setopt($ch, CURLOPT_POST, true);

       curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

       curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

       curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 0);  

       curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

   //curl_setopt($ch, CURLOPT_CUSTOMREQUEST,"POST");

       curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));

       $result = curl_exec($ch);           

       if ($result === FALSE) {

           die('Curl failed: ' . curl_error($ch));

       }

       curl_close($ch);

   //echo result;

       return $result;

}

추천1 비추천0

댓글목록

등록된 댓글이 없습니다.

회원로그인

회원가입

사이트 정보

회사명 : 팁에는팁 / 대표 : 이하령
개인정보관리책임자 : 이하령

공지사항

  • 게시물이 없습니다.

접속자집계

오늘
271
어제
5,144
최대
5,394
전체
531,183
Copyright © 소유하신 도메인. All rights reserved.