我使用 PHP 制作了一个脚本,使用 Firebase 云消息向我的手机发送通知,一切都很好,但我需要在通知中包含声音
<?php
function sendoo($to='',
$data = array()){
$apiKey = 'hide';
$fields = array ('to' => $to, 'notification' => $data);
$headers = array('Authorization: key=' .$apiKey,'Content-Type:
application/json');
$url = 'https://fcm.googleapis.com/fcm/send';
$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_VERIFYPEER, false );
curl_setopt( $ch,CURLOPT_POSTFIELDS, json_encode( $fields ) );
$result = curl_exec($ch);
curl_close($ch);
return json_decode($result, true);
}
$to = "hide";
$data = array(
'body' => 'new order'
);
print_r(sendoo($to, $data));
?>
在$fields中尝试此修改
$fields = array(
'to' => 'something',
'sound' => 'default',
'body' => 'hello',
'title' => 'Message',
'_displayInForeground'=> 'true',
'channelId'=>'default',
);
channelId 对于触发声音很重要!!
你想要自定义声音还是默认声音?
先把这行代码放
Notification notification = new Notification(icon, tickerText, when);
然后为了播放默认声音,放这个:
notification.defaults |= Notification.DEFAULT_SOUND;
如果您想播放自定义声音,请保存一个mp3文件并像这样访问它:
notification.sound = Uri.parse("file:///sdcard/notification/notification.mp3");
之后,使用通知管理器发送通知。注意:仅当您同时使用这两种方法时,才使用这些方法之一,应用程序将使用默认声音。:)