node.js - 在一个信号中发送推送通知
问题描述
如何根据条件为用户创建个性化的推送通知。我已经使用 One Signal 实现了推送通知,我可以在其中向所有用户发送有关股市的通知。我想通过在图像中实现类似的东西来更进一步
在此,用户可以输入价格,如果价格高于或低于用户给定的价格,则发送推送通知。
解决方案
我认为在这种情况下,您应该使用 Server RestApi 创建通知。确定价格后发出请求,例如:
using System.IO;
using System.Net;
using System.Text;
var request = WebRequest.Create("https://onesignal.com/api/v1/notifications") as HttpWebRequest;
request.KeepAlive = true;
request.Method = "POST";
request.ContentType = "application/json; charset=utf-8";
byte[] byteArray = Encoding.UTF8.GetBytes("{"
+ "\"app_id\": \"5eb5a37e-b458-11e3-ac11-000c2940e62c\","
+ "\"contents\": {\"en\": \"English Message\"},"
+ "\"include_player_ids\": [\"6392d91a-b206-4b7b-a620-cd68e32c3a76\",\"76ece62b-bcfe-468c-8a78-839aeaa8c5fa\",\"8e0f21fa-9a5a-4ae7-a9a6-ca1f24294b86\"]}");
string responseContent = null;
try {
using (var writer = request.GetRequestStream()) {
writer.Write(byteArray, 0, byteArray.Length);
}
using (var response = request.GetResponse() as HttpWebResponse) {
using (var reader = new StreamReader(response.GetResponseStream())) {
responseContent = reader.ReadToEnd();
}
}
}
catch (WebException ex) {
System.Diagnostics.Debug.WriteLine(ex.Message);
System.Diagnostics.Debug.WriteLine(new StreamReader(ex.Response.GetResponseStream()).ReadToEnd());
}
System.Diagnostics.Debug.WriteLine(responseContent);
有关更多信息,您可以查看 onesigna 官方文档,google OneSigna > Documentation > SERVER REST API > Create notification
推荐阅读
- node.js - 用户退出时无法读取未定义的属性“_id”
- git - 如何让 zsh 用我预定义的东西替换终端中输入的命令?
- c# - 不同版本(16、15、14)的 TFS API dll 在单个项目中不起作用
- c# - 显示点云连续 c# Intel Realsense
- mysql - 在 mysql 8 中使用 WITH(公用表表达式)获取语法错误
- angular - Karma Jasmin - 为什么即使没有测试用例,我的测试用例也会随机失败?
- arrays - 获取数组bash raspbian中命令的每一行
- java - 如何使用 okhttp 更改连接请求的标头
- c++ - 当值包含引号(“)时如何返回json字符串
- php - 通过soapclient向需要CDATA的服务发送SOAP请求的问题