Firebase를 사용해서 PUSH를 보내는 간단한 sample 코드

2018. 3. 5. 18:23PHP

반응형

구글이 선보인  Firebase를 사용해서 PUSH를 보내는 간단한 sample 코드입니다.

모델로 구현을 했는데 상황에 따라서 controller로 구현을 해도 될 듯 합니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<?php
class Firebase_model extends CI_Model {
 
    private $FIREBASE "https://fcm.googleapis.com/fcm/send";
    private $key "<firebase key>";
 
    public function __construct()
    {
        parent::__construct();
    }
 
    // title : 제목
    // message : PUSH 내용
    // 디바이스 token : tokens (배열 type)
    public function send($title$message$tokens) {
        $msg array (
            'title'     => $title,
            'message'   => $message
        );
 
        $fields array(
            'registration_ids'  => $tokens// array type
            'data' => $msg
        );
 
        $headers array(
            'Authorization: key='.$this->key,
            'Content-Type: application/json'
        );
 
        $ch = curl_init();
 
        curl_setopt ($ch, CURLOPT_URL, $this->FIREBASE);
        curl_setopt ($ch, CURLOPT_POST, true);
        curl_setopt ($ch, CURLOPT_HTTPHEADER, $headers);
        curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt ($ch, CURLOPT_POSTFIELDS, json_encode($fields));
 
        $result = curl_exec($ch);
 
        curl_close ($ch);
 
        return $result;
    }
}

 

호출은 controller에서 아래와 같이 하면 됩니다.

1
2
3
4
5
6
7
8
9
10
$title "제목입니다.";
$message "내용입니다.";
$tokens array(
    "단말기 token1",
    "단말기 token2",
    "단말기 token3",
    "단말기 token4"
);
 
$this->firebase_model->send($title$message$tokens);

http://www.cikorea.net/bbs/view/tip?idx=16458&lists_style=    에서 퍼옴

반응형