我正在使用以下代码在Android设备上发送推送通知。问题是这些通知不会在特别是Android 8或更低版本的多个设备上发出。例如在Redmi 6A移动版中,我向我的应用发送了通知。显示6条通知后,它停止了。然后我卸载了该应用程序,然后再次安装并发送了通知,但锁定屏幕上仍然没有通知。同样,在lenovo android手机中,甚至没有一个通知出现。但是,如果我直接通过google fcm页面发送(进行测试),则它会在所有设备中使用。您认为下面的代码有问题吗?
<?php
// July 2019
$firebase_register_id=isset($_POST['firebase_register_id']) ? $_POST['firebase_register_id'] : '';
$message=isset($_POST['message']) ? $_POST['message'] : '';
$ttype="X";
$id=1;
try{
$url = 'https://fcm.googleapis.com/fcm/send';
$fields = array (
'to' => $firebase_register_id,
'notification' => array (
"body" => $message,
"title" => "App Title"
),
'data' => array (
"type"=>$ttype,
"ID"=>$id
)
);
$fields = json_encode ( $fields );
$headers = array (
'Authorization: key=' . "XXXXXX",
'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_POSTFIELDS, $fields );
$result = curl_exec ( $ch );
echo $result;
curl_close ( $ch );
}catch(Exception $e) {
echo 'Message: ' .$e->getMessage();
}
?>