我已经使用Firebase作为我的后端数据库创建了一个类似于Instagram的应用程序。该应用程序具有所有功能,即用户可以喜欢你的文章,评论你的文章等。但是,现在我坚持通知部分。我已阅读了关于FCM的一些文档,并遵循了一些教程。但是,我找不到任何关于如何创建通知的具体教程,其标题是作为评论者的姓名/评论者的姓名以及评论的内容。我必须使用PHP和mySQL来完成这一切吗?或者它可以完成使用JAVA?Android Firebase实时数据库触发推送通知
回答
没有足够的代表评论,所以我会把它放在这里。
最近Firebase发布了Firebase Functions。
函数通过让您编写响应事件并调用其他Firebase功能提供的功能的代码来集成Firebase平台。
幸运的是,当您的某个用户关注其他用户时发送通知的问题是Firebase函数的示例用例之一。 你可以看看here。
是的,您需要制作应用服务器才能将设备通知发送给其他设备。您的应用服务器将拥有Firebase FCM的API和Firebase数据库的服务帐户。
以下是一个node.js代码。函数listenForNotifications()是一个连接到您的数据库的侦听器,以便您随时可以发送一个跟随请求。在按钮上单击您的应用程序,您将在“以下”根节点的数据库中添加一个条目。然后,当您的移动应用添加条目时,request.on(“child_added”..)会因为有条目而被解雇。然后该函数将消息通过令牌发送给要发送请求的人。即request.requestToToken
“下面的”节点的数据库结构:
+--Root
+-.
+--.
+----Following
+---------pushKey /auto-generated
+----------------requestToToken /token of device you want to send notification
+---------------- requestFromToken/token of device that sent the notification
var firebase = require('firebase-admin');
var request = require('request');
const express = require('express');
const app = express();
app.get('/', (req, res) => {
res.status(200).send('Hello, world!');
});
// Start the server
const PORT = process.env.PORT || 8080;
app.listen(PORT,() => {
console.log(`App listening on port ${PORT}`);
console.log('Press Ctrl+C to quit.');
});
var API_KEY = ".......your key"; // Your Firebase Cloud Messaging Server API
// Fetch the service account key JSON file contents
var serviceAccount = require("....your database service account.json");
// Initialize the app with a service account, granting admin privileges
firebase.initializeApp({
credential: firebase.credential.cert(serviceAccount),
databaseURL: "https://dropit-b357a.firebaseio.com"
});
ref = firebase.database().ref();
process.stdout.write("I AM HERE... SERVER RUNNING MAYBE: ");
function listenForNotificationRequests() {
var requests = ref.child('Following');
requests.on('child_added', function(requestSnapshot) {
var request = requestSnapshot.val();
sendNotificationToUser(
request.requestToToken,
request.requestFrom,
function() {
return;
}
);
}, function(error) {
console.error(error);
});
};
function sendNotificationToUser(username, message, onSuccess) {
request({
url: 'https://fcm.googleapis.com/fcm/send',
method: 'POST',
headers: {
'Content-Type' :' application/json',
'Authorization': 'key='+API_KEY
},
body: JSON.stringify({
notification: {
title: message
},
to : username
})
}, function(error, response, body) {
if (error) { console.error(error); }
else if (response.statusCode >= 400) {
console.error('HTTP Error: '+response.statusCode+' '+response.statusMessage);
}
else {
onSuccess();
}
});
}
// start listening
listenForNotificationRequests();
* firebaser here *我们刚刚发布了[适用于Firebase的云功能](https://firebase.google.com/docs/functions),它可以扮演应用服务器的角色。看看这个示例:https://github.com/firebase/functions-samples/tree/master/fcm-notifications。 –
感谢Omair的回答。但是,我选择使用云功能来执行相同的操作,并且更容易! – Henry
- 1. 当Firebase实时数据库节点更新时发送推送通知
- 2. 实时数据库触发器与FCM的Firebase通知
- 3. 使用Firebase的实时推送通知
- 4. 通过Firebase发送推送通知
- 5. 从JavaScript/jQuery发送Firebase推送通知
- 6. Firebase推送通知
- 7. 如何发送推送通知Firebase
- 8. 通过Gloox XMPP库向Google Firebase发送推送通知
- 9. 当Firebase数据库更改值时创建推送通知
- 10. 发送了两次Firebase推送通知
- 11. 在推送通知中发送URL Firebase
- 12. 使用volley发送firebase推送通知
- 13. Swift Firebase发送推送通知
- 14. 当更新Firebase数据库时发送通知更新
- 15. 如何在Firebase数据库更新时发送通知?
- 16. Android Firebase推送通知双值
- 17. Android Firebase推送通知使用php
- 18. Android - Firebase推送通知不起作用
- 19. 触发/解析推送通知图标
- 20. 使用API时,Firebase API未发送推送通知
- 21. 使用Firebase实时数据库发送针对聊天应用程序构建的推送通知
- 22. 如何在firebase的实时数据库中发送新消息的推送通知
- 23. 从Firebase发送推送通知到Android以及iOS
- 24. 用firebase发送推送通知 - 致命异常(android)
- 25. 在多个Android设备间使用Firebase发送推送通知
- 26. 通过推送通知触发构建
- 27. 基于Azure中触发发送推送通知到Android
- 28. 不想在模拟器上触发Firebase推送通知
- 29. Firebase推送通知操作
- 30. Firebase观众 - 推送通知
juat 5次点击,并在代码变化不大需要安装FCM。我建议你再次检查网站的步骤设置说明 –