C# 单信号多通知

C# 单信号多通知,c#,onesignal,C#,Onesignal,我对web推送通知有一些问题。 我可以定期发送通知,但是,当我发送两个通知时,第一个通知仍然在屏幕上可见,第二个通知将覆盖第一个通知 REST API由使用C#编写的MVC站点调用,我发送的对象如下: var obj = new { app_id = _appKey, contents = new { en = message }, headings = new { en = title },

我对web推送通知有一些问题。 我可以定期发送通知,但是,当我发送两个通知时,第一个通知仍然在屏幕上可见,第二个通知将覆盖第一个通知

REST API由使用C#编写的MVC站点调用,我发送的对象如下:

var obj = new
        {
            app_id = _appKey,
            contents = new { en = message },
            headings = new { en = title },
            included_segments = new[] { "All" },
            url,
            chrome_web_icon = imageUrl,
            priority = 1,
            id = DateTime.Now.ToString("yyyyMMddHHmmss")
        };
有没有人经历过同样的问题?
如何解决这个问题?

OneSignal故意实现了导致这种行为的通知替换

这样做的原因是为了避免这样的情况:一个订阅者最终可能会收到来自单个网站的多达100条通知,而这对他们来说将是一次可怕的经历


将来,OneSignal可能允许您避免此限制,但在大多数情况下,我们不建议您以不同的方式执行此操作。

OneSignal故意执行导致此行为的通知替换

这样做的原因是为了避免这样的情况:一个订阅者最终可能会收到来自单个网站的多达100条通知,而这对他们来说将是一次可怕的经历


将来,OneSignal可能允许您避免这一限制,但在大多数情况下,我们不建议您采取不同的做法。

从OneSignal人员那里得到了这个答案

使用我们的
restapi
以编程方式发送通知时,可以使用未记录的参数
web\u push\u主题

在一组共享同一主题的通知中,新收到的通知将用同一主题替换旧收到的通知。只有共享同一主题的通知才会被替换;没有主题或具有不同主题的通知将不会被替换。您可以为不同的通知集设置不同的主题,以控制哪些通知保留在屏幕上

web\u push\u主题
值可以是任何字符串值

在Chrome上,任何时候最多显示3个通知,即使其他通知与您的站点或OneSignal无关。这意味着您只能向用户显示3类通知,不包括当时可能显示的其他通知。 在Windows上的Firefox上,一次可以显示更多的通知(6+)

在Mac上的Firefox和Mac上的Safari上,一次只能显示一个通知,即使其他通知与您的站点或OneSignal无关。通知也会在5秒内迅速消失,这一次是不可自定义的

在Android上的Chrome/Firefox上,一次可以显示多个通知

如果未指定
web\u push\u主题
,则每个通知都将替换为新的通知。如果确实指定了
web\u push\u主题
,则可以选择将替换哪些通知以及将堆叠哪些通知

使用我们的API发送通知时,为web\u push\u主题设置字符串值将设置通知的主题。共享同一主题的任何通知都将相互替换,但具有不同主题的任何通知都不会被替换

因此,假设您发送4个通知:

  • “本周六下午3点1234街开放日”通知,主题为“开放日”
  • 通知“1234街开放日改为本周六下午4点”,主题为“开放日”
  • 通知“20栋新房符合您在华盛顿州西雅图的标准”,主题为“一般更新”
  • 主题为“促销”的通知“在您所在地区找到代理”
  • 观察到的通知顺序如下:

  • 通知#1显示
  • 通知#2取代了#1(即使停靠在Mac OS X的通知托盘中)
  • 通知#3单独显示(如果停靠在Mac OS X的通知托盘中,它将使用单独的条目)
  • 通知#4也单独显示。 最后,当订户检查其未读通知时,他将看到总共三个通知
  • 示例代码:

    payload = {"app_id": "5eb5a37e-b458-11e3-ac11-000c2940e62c",
               "include_player_ids": ["6392d91a-b206-4b7b-a620-cd68e32c3a76"],
               "contents": {"en": "English Message"},
               "web_push_topic": 'Unique for every notification'}
    

    从一个信号员那里得到了这个答案

    使用我们的
    restapi
    以编程方式发送通知时,可以使用未记录的参数
    web\u push\u主题

    在一组共享同一主题的通知中,新收到的通知将用同一主题替换旧收到的通知。只有共享同一主题的通知才会被替换;没有主题或具有不同主题的通知将不会被替换。您可以为不同的通知集设置不同的主题,以控制哪些通知保留在屏幕上

    web\u push\u主题
    值可以是任何字符串值

    在Chrome上,任何时候最多显示3个通知,即使其他通知与您的站点或OneSignal无关。这意味着您只能向用户显示3类通知,不包括当时可能显示的其他通知。 在Windows上的Firefox上,一次可以显示更多的通知(6+)

    在Mac上的Firefox和Mac上的Safari上,一次只能显示一个通知,即使其他通知与您的站点或OneSignal无关。通知也会在5秒内迅速消失,这一次是不可自定义的

    在Android上的Chrome/Firefox上,一次可以显示多个通知

    如果未指定
    web\u push\u主题
    ,则每个通知都将替换为新的通知。如果确实指定了
    web\u push\u主题
    ,则可以选择将替换哪些通知以及将堆叠哪些通知

    使用我们的API发送通知时,为web\u push\u主题设置字符串值将设置通知的主题。共享同一主题的任何通知都将相互替换,但具有不同主题的任何通知都不会相互替换