php - 即使通过我的 PHP 脚本获得成功 1 后也无法在 android 中发送推送通知

标签 php android push-notification

我的 PHP 脚本如下所示:

<?php
$reg_id = "d8Sq53-gteU:APA91bGFcbSrcWY6J9fVBhUJVci4YHgktjoTOTbRjMXi7uY6ss-kLM39GpSt16cMmwsm2k4n9y3_YrcyBT7o9bpsN2QFS_bVceMcV-WThbThXMCWSiwaaP7p5LAJlb_01mzPbHb6xq1X1";

$url    = 'https://fcm.googleapis.com/fcm/send';
$fields = array(
        'to' => $reg_id ,
        'priority' => "high",
        'data' => array(
            "title" => "Android Learning",
            "message" => "Test",
            "image"=> "dsdsd",
            "tag" => "dsdsd"
        )
    );

$headers = array(
    'Authorization:key = AIzaSyC6ld4WBRmk8W6DZgMqevu1Na3dcQdQDBIA ',
    '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_POSTFIELDS, json_encode($fields));
$result = curl_exec($ch);           

if ($result === FALSE) {
    die('Curl failed: ' . curl_error($ch));
}

curl_close($ch);
print_r($result);die;      
?>

这是我得到的回应:

{"multicast_id":7558168491201020947,"success":1,"failure":0,"canonical_ids":0,"results":[{"message_id":"0:1484883356821016%9bd11ceef9fd7ecd"}]}

但在 Android 中,我无法获取通过通知发布的数据。我正在使用的 PHP 脚本是否有问题,我通过 PHP 脚本获得的响应是​​否正确。或者android代码有问题。谁能帮帮我。

最佳答案

**Please check below .php file it will working fine for me.**
**You just need to pass firebase id "fcm_token" parameter to this php file**.


<?php

       require_once __DIR__ . '/config.php';
       // need to pass Firebase Register ID.

       $registration_ids=$_POST["fcm_token"];
       $title='hello';
       $message='Please check the Details';
       $is_background=FALSE;
       $image='';
       $payload='Its Payload';
       $timestamp='10:15';

       $arr = array('title' => $title, 'is_background' => $is_background, 'message' => $message, 'timestamp' => $timestamp, 'image' => $image,'payload'=> $payload);

       $arr1 = array('data' => $arr);
       $json = $arr1;

      $fields = array('to' => $registration_ids,'data' => $json,);
      //echo json_encode($fields);

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

       $headers = array(
            'Authorization: key=' . FIREBASE_API_KEY,
            'Content-Type: application/json'
        );

        // Open connection

        $ch = curl_init();

        // Set the url, number of POST vars, POST data
        curl_setopt($ch, CURLOPT_URL, $url);

        curl_setopt($ch, CURLOPT_POST, true);
        curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

        // Disabling SSL Certificate support temporarly
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

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

        // Execute post
        $result = curl_exec($ch);
        if ($result === FALSE) {
            die('Curl failed: ' . curl_error($ch));
        echo 'its Not done bro';

       }else{
    echo 'its done bro';
           }

        // Close connection
        curl_close($ch);

?>

关于php - 即使通过我的 PHP 脚本获得成功 1 后也无法在 android 中发送推送通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41755772/

相关文章:

android - Ml-kit为什么检测不到小二维码?

android - 如何检查我的 EditText 字段是否为空?

android - 在 Cordova 推送通知

android - 应用程序被杀死时的 GCM 推送通知 Android Pre lollipop

php - MySQL:将多个表值插入一个

php - if else语句与mysql表? - PHP

android - 将图像设置为墙纸

ios - 推送通知不一致

php - 另一个继承问题

php - PEAR 和 PEAR2 有什么区别?