2017-08-09 97 views
1

具体推送通知我使用this PHP script发送通知到火力地堡如何删除从API服务器

... 
$fields = [ 
    'to' => DEVICE_TOKEN, 
    'notification' => [ 
     'title'  => "Title", 
     'body' => 'notification body', 
     'tag' => 'tag', 
    ], 
]; 
$ch = curl_init(); 
curl_setopt($ch,CURLOPT_URL, 'https://fcm.googleapis.com/fcm/send'); 
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); 
... 

并正确弹出我的的Android。我也可以编辑通知使用tag属性

但是如何删除通知?例如,如果有人在浏览器中阅读它,我需要从其他设备中删除此通知。

我试图在编辑的通知中发送空的body,但不起作用。

科尔多瓦前端我使用cordova-plugin-firebase,我不确定问题是在后端还是前端。

回答

2

我不认为通过Firebase API将通知消息发送到设备是不可能的。

我看到的一种可能的解决方案是创建POST通知,一旦用户看到消息将其发送到您的后端,后者发送带有特定“标志”的新通知,并且不会显示此新通知,因为“标志“(你在你的应用程序中执行一个if check)。当设备读取该标志时,它将删除基于“标志”的通知。你用cancel()这是NotificationManagerDocumentation

相关问题