Wenn Sie Push-Benachrichtigungen mithilfe von Service Worker implementieren, können wir die Benachrichtigungen direkt an den Endpunkt senden. Aber auf meiner Website werden die Benachrichtigungen von einer externen API abgerufen. Gibt es eine Möglichkeit von meinem Service-Mitarbeiter, nach Benachrichtigungen zu suchen, um festzustellen, ob eine neue Benachrichtigung vorhanden ist?Können wir nach einer Benachrichtigung von Service Worker fragen
Antwort
Wenn Ihre Webanwendung geöffnet ist, können Sie Benachrichtigungen anzeigen, indem Sie nach bestimmten Kriterien suchen (eine API abrufen usw.) und dann Notifications API verwenden.
Dies erfordert keinen Service-Mitarbeiter. Die Verwendung eines Service-Mitarbeiters + push
Ereignisse zum Auslösen Ihrer Benachrichtigungen bedeutet, dass Ihre Benachrichtigungen auch dann angezeigt werden, wenn Ihre Webanwendung geschlossen ist, und dass es effizienter ist, auf push
Ereignisse zu warten oder wiederholt eine API abzurufen.
Sie könnten theoretisch eine Kombination aus Polling und explizitem Aufruf der Notifications-API verwenden, wenn Ihre Webanwendung geöffnet ist, und zusätzlich einen Service-Mitarbeiter registrieren, der auf push
-Ereignisse wartet. Wenn Sie sich jedoch bemühen, den Anwendungsfall für Service-Mitarbeiter zu unterstützen, ist es möglicherweise sauberer, sich nur auf den Service-Mitarbeiter für alle Ihre Benachrichtigungen zu verlassen.
Ein Unterschied zwischen den beiden Ansätzen besteht darin, dass die Verwendung der Benachrichtigungs-API während Ihrer Webanwendung supported in more browsers (Stand August 2017) als servicearbeiterbasierte Push-Benachrichtigungen erfolgt.
- 1. Service Worker-Tracking in Push-Benachrichtigung
- 2. Wie können wir nach einem neuen Instagram Access Token fragen?
- 3. Android lokale Benachrichtigung mit Angular Service Worker
- 4. So erhalten Sie eine Benachrichtigung von Service Worker
- 5. Verwenden von Service Worker in angularjs
- 6. Fragen Sie nach Push-Benachrichtigung
- 7. Können Benutzer den Service-Worker-Cache löschen?
- 8. Service Worker Registrierung Problem
- 9. Was können Service-Mitarbeiter tun, die Web-Worker nicht können?
- 10. XMLHttpRequest in Service Worker
- 11. Service Worker und AJAX
- 12. Service Worker Ablauf
- 13. Können wir Firebase ServerValue Timestamp in einer Benachrichtigung senden?
- 14. Can Service Worker Push-Benachrichtigung ohne gcm in Chrom?
- 15. Service-Worker Vorbelastung Unterseiten nach pageloading
- 16. Verwaltung von Service-Worker-Cache
- 17. Understanding Service Worker Bereich
- 18. CDN Service Worker
- 19. Service Worker Cache-Größen
- 20. Service Worker-Datei Offline-Ereignisse
- 21. Können wir die Push-Benachrichtigung im Simulator überprüfen?
- 22. Service Worker, Doppel-Caching?
- 23. TensorFlow Master und Worker Service
- 24. FCM Service Worker setBackgroundMessageHandler
- 25. Service-Worker Cache-Speicher
- 26. Workbox Service Worker mit Hintergrundsynchronisierungsmodul
- 27. Aktivieren von Service Worker mithilfe der Workbox
- 28. Mehrere Fragen zur lokalen Benachrichtigung
- 29. Best Practice für sofortigen Anspruch einer Seite von Service Worker
- 30. Service Worker Caches zu viel
Meine Anforderung besteht darin, die Push-Benachrichtigung auch anzuzeigen, wenn die Anwendung geschlossen ist. Also benutze ich Service-Mitarbeiter und ich bekomme die Benachrichtigungen, die vom Server gesendet werden. Mein Problem ist, dass es in meiner Anwendung eine Reihe von Benachrichtigungen gibt, die von einer externen API abgerufen werden. Ich möchte, dass diese Benachrichtigungen auch an den Client gesendet werden. Es kann mühsam sein, diese Benachrichtigungen für alle Benutzer zu erhalten. Also habe ich gelernt, ich werde die externe API von der Service-Arbeiter für neue Benachrichtigungen abfragen und informieren Sie meinen Server und dann diese Benachrichtigungen von meinem Server. Ist das möglich? – Stanly
Innerhalb des Push-Ereignishandlers eines Service-Mitarbeiters können Sie 'fetch' verwenden, um zusätzliche API-Aufrufe durchzuführen und detaillierte Daten über die spezifischen Benachrichtigungen zu erhalten, die Sie anzeigen. So kann der "Push" die SW "aufwecken", und dann kann die SW jede Logik verwenden, um Benachrichtigungen anzuzeigen. Die einzige Einschränkung ist, dass Sie normalerweise mindestens eine Benachrichtigung anzeigen müssen, wenn Sie ein Push-Ereignis behandeln. Https://developers.google.com/web/updates/2017/06/budget-api ändert das jedoch ein wenig . –