2017-02-02 2 views
1

Ich habe ein Problem mit Web-Push-Benachrichtigung. Ich kann die Benachrichtigung regelmäßig senden, aber wenn ich zwei Benachrichtigungen sende und die erste noch auf dem Bildschirm sichtbar ist, überschreibt die zweite die erste.OneSignal Chrome mehrere Benachrichtigung

Die REST-API von einer MVC-Site mit C# geschrieben genannt wird, ist das Objekt, sende ich folgendes:

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

Hat das gleiche Problem jemand erlebt? Wie kann ich das lösen?

Antwort

0

OneSignal implementiert absichtlich eine Benachrichtigungsersetzung, die zu diesem Verhalten führt.

Der Grund dafür ist, Fälle zu vermeiden, in denen ein Abonnent bis zu 100 Benachrichtigungen erhalten kann, um von einer einzelnen Website zu entlassen, was für sie eine schreckliche Erfahrung wäre.

In Zukunft kann OneSignal Ihnen erlauben, diese Einschränkung zu vermeiden, aber in den meisten Fällen würden wir dies nicht anders empfehlen.

1

Haben Sie diese Antwort von OneSignal Person.

Wenn Sie unsere REST API verwenden, um programmgesteuert Benachrichtigungen zu senden, können Sie den undokumentierten Parameter web_push_topic verwenden.

In einer Gruppe von Benachrichtigungen, die denselben web_push_topic teilen, ersetzen neu empfangene Benachrichtigungen ältere empfangene Benachrichtigungen durch das gleiche Thema. Nur Benachrichtigungen, die dasselbe Thema verwenden, werden ersetzt. Benachrichtigungen ohne ein Thema oder mit einem anderen Thema werden nicht ersetzt. Sie können verschiedene Themen für verschiedene Benachrichtigungsgruppen festlegen, um zu steuern, welche Benachrichtigungen auf dem Bildschirm angezeigt werden.

Der Wert web_push_topic kann ein beliebiger Zeichenfolgenwert sein.

In Chrome werden maximal 3 Benachrichtigungen zu jeder Zeit angezeigt, auch wenn die anderen Benachrichtigungen nicht mit Ihrer Site oder mit OneSignal verknüpft sind. Dies bedeutet, dass Sie Ihrem Benutzer nur 3 Kategorien von Benachrichtigungen anzeigen können, nicht jedoch für andere Benachrichtigungen, die zu diesem Zeitpunkt angezeigt werden. Unter Firefox unter Windows können viele weitere Benachrichtigungen gleichzeitig angezeigt werden (6+).

Bei Firefox unter Mac und Safari unter Mac kann immer nur eine Benachrichtigung angezeigt werden, auch wenn die anderen Benachrichtigungen nicht mit Ihrer Site oder mit OneSignal zusammenhängen. Benachrichtigungen verschwinden auch schnell innerhalb von 5 Sekunden und diese Zeit ist nicht anpassbar.

In Chrome/Firefox unter Android können mehrere Benachrichtigungen gleichzeitig angezeigt werden.

Wenn Sie nicht web_push_topic angeben, wird jede Benachrichtigung durch eine neuere Benachrichtigung ersetzt. Wenn Sie web_push_topic angeben, können Sie auswählen, welche Benachrichtigungen ersetzt werden und welche Benachrichtigungen gestapelt werden.

Wenn Sie eine Benachrichtigung über unsere API senden, wird durch Festlegen eines Zeichenfolgenwerts für web_push_topic das Thema für die Benachrichtigung festgelegt. Alle Benachrichtigungen, die dasselbe Thema verwenden, ersetzen sich gegenseitig, Benachrichtigungen mit einem anderen Thema werden jedoch nicht ersetzt.

So nehme an, Sie 4-Benachrichtigungen senden:

  1. Benachrichtigung "der offenen Tür bei 1234 Street am 03.00 an diesem Samstag" mit dem Thema 'Open-Häuser'.
  2. Benachrichtigung "Geöffnetes Haus an der 1234 Straße geändert zu 4 PM an diesem Samstag" mit Thema "open-houses".
  3. Benachrichtigung "20 neue Häuser entsprechen Ihren Kriterien in der Seattle, WA" mit dem Thema "General-Updates".
  4. Benachrichtigung "Finden Sie einen Agenten in Ihrer Nähe" mit dem Thema "Werbe".

Die Reihenfolge der Anmeldungen wird beobachtet:

  1. Mitteilung # 1 zeigt.
  2. Benachrichtigung # 2 ersetzt # 1 (auch wenn sie in der Benachrichtigungsleiste von Mac OS X angedockt ist).
  3. Die Benachrichtigung # 3 wird separat angezeigt (und wenn sie in der Benachrichtigungsleiste von Mac OS X angedockt ist, wird ein separater Eintrag verwendet).
  4. Benachrichtigung # 4 wird auch separat angezeigt. Am Ende, wenn der Abonnent seine ungelesenen Benachrichtigungen überprüft, wird er drei Gesamtbenachrichtigungen sehen.

Beispielcode:

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

vielen Dank für Ihre Antwort !! Ich werde es so schnell wie möglich testen! – marco783

Verwandte Themen