2017-02-02 5 views
1

ウェブのプッシュ通知に問題があります。 私は定期的に通知を送信できますが、2つの通知を送信しても最初の通知が画面に表示されていれば、2番目の通知は最初の通知を上書きします。 REST APIはCの#で書かれたMVCサイトによって呼び出されOneSignal Chromeの複数の通知

、私が送ったオブジェクトは、以下の通りです:

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") 
     }; 

誰もが同じ問題を経験しましたか? どうすれば解決できますか?

答えて

0

OneSignalは、意図的にこの動作を引き起こす通知の置換を実装します。

これは、サブスクライバが1つのウェブサイトから最大100件の通知を受け取ってしまうことを避けるためです。これは恐ろしいことです。

将来、OneSignalではこの制限を回避することができますが、ほとんどの場合、これを別の方法で行うことはお勧めしません。

1

OneSignalからこの回答を得ました。

REST APIを使用してプログラムで通知を送信する場合は、文書化されていないパラメータweb_push_topicを使用できます。

同じweb_push_topicを共有する一連の通知では、新しく受信した通知は、古い受信通知を同じトピックに置き換えます。同じトピックを共有する通知のみが置き換えられます。トピックのない通知や別のトピックの通知は置き換えられません。さまざまな通知のセットごとに異なるトピックを設定して、どの通知を画面に表示するかを制御できます。

web_push_topicの値には、任意の文字列値を使用できます。

Chromeでは、他の通知がサイトやOneSignalに関連していなくても、いつでも最大3つの通知が表示されます。つまり、その時点で表示されている可能性のあるその他の通知をカウントせずに、3つのカテゴリの通知のみをユーザーに表示することができます。 WindowsのFirefoxでは、一度に多くの通知を表示できます(6+)。

MacのFirefoxとMacのSafariでは、他の通知がサイトやOneSignalに関連していない場合でも、一度に1つの通知しか表示できません。通知も5秒以内にすばやく消え、この時間はカスタマイズできません。

AndroidのChrome/Firefoxでは、一度に複数の通知を表示できます。

web_push_topicを指定しない場合、各通知は新しい通知に置き換えられます。 web_push_topicと指定すると、どの通知を置き換え、どの通知を積み重ねるかを選択できます。

APIを使用して通知を送信する場合、web_push_topicの文字列値を設定すると、通知のトピックが設定されます。同じトピックを共有するすべての通知は互いに置き換えられますが、異なるトピックの通知は置き換えられません。トピック「オープンハウス」で「3 PMで1234通りで、この土曜日のオープンハウス」

  1. 通知:

    だから、あなたが4つの通知を送信したとします。
  2. 通知は、トピック「オープンハウス」で「オープンハウスは、1234年にストリートは今週の土曜日午後4時に変更しました」。
  3. 通知トピックと「一般アップデート」「20軒の新しい家は、ワシントン州シアトルであなたの条件に一致します」。
  4. 通知は、トピック「プロモーション」で「お住まいの地域のエージェントを探します」。

観察通知の順序は次のようになります。

  1. 通知#1に示します。
  2. 通知#2(Mac OS Xの通知トレイにドッキングしても)1位に置き換えられます。
  3. 通知#3が別々に示されている(およびMac OS Xの通知トレイにドッキングされた場合、それは個別のエントリを使用します)。
  4. 通知#4も別途表示されます。 最後に、購読者が未読の通知をチェックすると、3つの通知が表示されます。

コード例:

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'} 
+0

あなたの答えをありがとうございました!!私は早くそれをテストします! – marco783

関連する問題