我创建了一个带有Firebase消息的Android应用程序。Firebase控制台上的通知工作正常。我想让它工作时,我从HTML页面点击一个按钮。这可能吗?
要通过Firebase云消息API向设备发送消息,您需要传入所谓的FCM服务器密钥。
顾名思义,该密钥只能在受信任的环境中使用,例如您控制的服务器、开发机器或云功能。原因是拥有FCM服务器密钥的人可以向您的任何用户发送他们想要的任何消息。
因此,如果您将此密钥嵌入到不受信任的环境(例如您的网页(中,恶意用户可以简单地复制它,并代表您发送消息。你的用户将无法知道什么消息来自你,什么消息来自恶意用户。
典型的解决方案是在可信环境中实现消息发送,例如在云功能中。这样,您的(服务器端(代码可以确保发件人有权发送消息。
有关更多信息,请参阅:
- 使用Firebase数据库和云消息在Android设备之间发送通知;虽然它适用于Android,并使用Node.js,但这里描述的流程仍然适用于所有平台
- 在没有Firebase数据库的情况下,是否可以使用FCM将通知从一个设备发送到另一个设备
- 如何使用Firebase消息发送一对一消息
最后,它从下面的编码开始工作
$.ajax({
type : 'POST',
url : "https://fcm.googleapis.com/fcm/send",
headers : {
Authorization : my_key
},
contentType : 'application/json',
dataType: 'json',
data: JSON.stringify({
"to": my_token,
"notification": {
"title":"Test",
"body":"Test"
}
}),
success : function(response) {
console.log(response);
},
error : function(xhr, status, error) {
console.log(xhr.error);
}
});