How to send FCM notification to app from web

后端 未结 5 605
鱼传尺愫
鱼传尺愫 2020-12-23 10:51

I am developing chat app which is based on Firebase Database and Storage. Everything is working fine, but now I need implementation of FCM to receive notification on app whe

5条回答
  •  感动是毒
    2020-12-23 11:19

    Sending a push notification is only a matter of sending a post request to FCM servers.

    Here is working example:

    $data = json_encode($json_data);
    //FCM API end-point
    $url = 'https://fcm.googleapis.com/fcm/send';
    //api_key in Firebase Console -> Project Settings -> CLOUD MESSAGING -> Server key
    $server_key = 'YOUR_KEY';
    //header with content_type api key
    $headers = array(
        'Content-Type:application/json',
        'Authorization:key='.$server_key
    );
    //CURL request to route notification to FCM connection server (provided by Google)
    $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_POSTFIELDS, $data);
    $result = curl_exec($ch);
    if ($result === FALSE) {
        die('Oops! FCM Send Error: ' . curl_error($ch));
    }
    curl_close($ch);
    

    Example of the JSON pay load:

    [
        "to" => 'DEVICE_TOKEN',
        "notification" => [
            "body" => "SOMETHING",
            "title" => "SOMETHING",
            "icon" => "ic_launcher"
        ],
        "data" => [
            "ANYTHING EXTRA HERE"
        ]
    ]
    

提交回复
热议问题