首页 > 解决方案 > 在一个信号中发送推送通知

问题描述

如何根据条件为用户创建个性化的推送通知。我已经使用 One Signal 实现了推送通知,我可以在其中向所有用户发送有关股市的通知。我想通过在图像中实现类似的东西来更进一步

根据条件推送通知

在此,用户可以输入价格,如果价格高于或低于用户给定的价格,则发送推送通知。

标签: node.jsxamarin.formspush-notificationonesignal

解决方案


我认为在这种情况下,您应该使用 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


推荐阅读