我对这个压倒性的WEBSITE推送通知世界非常陌生。如果有人能够通过最佳实践向我展示正确的道路,我将不胜感激。同样,它是关于使用Firebase的WEBSITE推送通知。
我的测试网站托管在Azure上,我在c#环境中使用.Net平台与SQL服务器。
我已经红了并“记住”Firebase谷歌文档。我还测试了如何检索令牌,刷新它......并使用邮递员向特定设备发送通知。
但是我还有很多问号。
我的第一个问题:在服务器上收到令牌后保存令牌的最佳做法是什么?在SQL数据库中?
function sendTokenToServer(currentToken) {
if (!isTokenSentToServer()) {
console.log('Sending token to server...');
setTokenSentToServer(true);
} else {
console.log('Token already sent to server so won\'t send it again ' +
'unless it changes');
}
第二个问题:现在假设我在数据库中拥有50,000个订阅者,向所有人发送动态一次推送通知的最佳做法是什么,没有分组或主题?哪个是最安全的交付方式POST,CURL,FETCH ......让我们假设我正在使用FETCH,如何向这些50.000个订户发送相同的通知。通过数据库循环?或?
var key = 'YOUR-SERVER-KEY';
var to = 'YOUR-IID-TOKEN';
var notification = {
'title': 'Portugal vs. Denmark',
'body': '5 to 1',
'icon': 'firebase-logo.png',
'click_action': 'http://localhost:8081'
};
fetch('https://fcm.googleapis.com/fcm/send', {
'method': 'POST',
'headers': {
'Authorization': 'key=' + key,
'Content-Type': 'application/json'
},
'body': JSON.stringify({
'notification': notification,
'to': to
})
})
.then(function(response) {
console.log(response);
}).catch(function(error) {
console.error(error);
})
我的第三个问题:我可以使用.Net和C#来完成上述向50.000订阅者发送单个通知的方法吗?有关示例代码的任何提示吗?
“问一个愚蠢问题的人可能会在短时间内听起来很愚蠢,但那个不敢问一个愚蠢问题的人在他/她的余生中仍将是愚蠢的”
谢谢!
答案 0 :(得分:1)
不确定您在寻找什么样的最佳做法,但只要您能够存储令牌并确定其用户,那就是关于它的。
如果它是每个令牌的不同的消息,除了循环每个消息之外别无选择。如果它是相同的消息,请使用registration_ids
并向每个请求发送1000个令牌 - 仍然使用循环。使用API所需的请求类型为POST
。
Haven没试过任何一个,抱歉。但只要你能发送一个HTTP POST请求,那就是它。