프로그램 개발서

[PHP] FCM 전송 함수 본문

Web

[PHP] FCM 전송 함수

rairen 2019. 9. 23. 19:02

오늘은 PHP FCM 발송할 때 사용하는 코드를 함수 화하여 작성했습니다.

//FCM 발송 함수
function send_notification($token_list, $title, $message)
{
    //FCM 인증키
    $FCM_KEY = '[FCM 서버 인증 키 입력]';
    //FCM 전송 URL
    $FCM_URL = 'https://fcm.googleapis.com/fcm/send';
    //전송 데이터
    $fields  = array(
        'registration_ids' => $token_list,
        'data'             => array(
            'title'   => $title,
            'message' => $message
        )
    );
    //설정
    $headers = array(
        'Authorization:key=' . $FCM_KEY,
        'Content-Type:application/json'
    );
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $FCM_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, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));
    $result = curl_exec($ch);
    if ($result === false) {
        die('Curl failed: ' . curl_error($ch));
    }
    curl_close($ch);
    $obj = json_decode($result);
    return $obj;
}

curl을 통해 FCM서버로 데이터를 뙇 보내줍니다.

 

함수 파라미터로는 토큰 배열 변수, 제목변수, 메시지 변수 이렇게 3개만 받습니다.

전송 데이터 필드에 추가적으로 넣는다고 한다면 파라미터를 추가하면 되겠죠?

 

참고되시길 빕니다.

반응형