Maison >Périphériques technologiques >Industrie informatique >Comment créer des notifications push pour les applications Web
Cet article explorera comment améliorer l'expérience utilisateur des applications Web existantes en ajoutant des fonctions de notification similaires aux applications natives. Nous expliquerons en profondeur le concept de notifications push Web et démontrerons progressivement comment intégrer cette fonctionnalité dans les applications Web existantes, couvrant les spécifications actuelles et la prise en charge du navigateur. L'article a été initialement publié à Sencha. Merci aux partenaires qui soutiennent SitePoint.
Points de base:
protocole de notification de push web
Le protocole de notification de push Web est relativement nouveau. Il donne aux applications Web une fonctionnalité de type application native, leur permettant de recevoir des messages push du serveur à tout moment, même si l'application Web n'est pas active ou chargée dans le navigateur. Cela vous permet d'interagir avec les utilisateurs à tout moment, ce qui les incite à revenir à l'application même s'ils n'utilisent pas votre application.
La valeur commerciale des notifications push Web est évidente: elle peut augmenter l'engagement des utilisateurs, augmentant ainsi la valeur globale de l'application, car les notifications push rendent votre application plus utile aux utilisateurs, améliore la convivialité des applications Web, et nous rendre plus utiles.
Comparaison des pushs Web et des Websockets
Avant d'entrer dans les détails techniques, comprenons d'abord la différence entre Web Push et WebSockets. Tout d'abord, ils ont des choses courantes: Web Push et WebSockets sont conçus pour permettre une communication en temps réel entre les applications Web et les serveurs d'applications, et envoyer des données et des mises à jour en temps réel des serveurs d'applications aux applications Web.
Voici leurs différences:
Concept technique
Jetons un coup d'œil aux détails techniques de cette technologie. J'utiliserai un jeu avec des règles spéciales, des participants et me tournerai pour expliquer ces détails. Je vais d'abord décrire les participants à ce jeu appelé "Webs push notifications":
Push Server est un service implémenté par les fabricants de navigateurs; il s'agit d'un pont de communication entre le serveur d'applications et le navigateur. Il est responsable de la livraison des messages de votre serveur d'applications à votre navigateur.
Utilisez des notifications de push de démonstration de jeu de jeu
J'utiliserai un jeu pour montrer comment ajouter des notifications push Web à votre application. Les règles de ce jeu sont définies par plusieurs spécifications fournies par la World Wide Web Alliance et le Force de travail d'ingénierie Internet:
jeu rond
Je divise le jeu en quatre tours et explique le concept et les objectifs de chaque tour. Je vais ensuite vous montrer comment implémenter chaque virage dans votre application.
Round 1: Enregistrement des travailleurs du service
Les notifications push Web nécessitent qu'un travailleur de service traite les messages push, donc le premier tour consiste à enregistrer votre agent de service. Seule votre application Web et votre navigateur participent à ce tour. Ce tour se produit lorsque la page se charge.
L'application Web envoie une demande pour enregistrer un travailleur de service au navigateur.
Pour implémenter ce tour, vous devez ajouter le code suivant à votre application Web:
<code class="language-javascript">if ('serviceWorker' in navigator) { if ('PushManager' in window) { navigator.serviceWorker.register('ServiceWorker.js').then(function(registration) { // 状态初始化 }).catch(function() { // 错误处理 }); } else { // 错误处理 } } else { // 错误处理 }</code>
Tout d'abord, nous devons vérifier si le navigateur prend en charge les travailleurs du service. Ensuite, nous devons vérifier si le navigateur prend en charge les notifications de push Web. Avec l'augmentation du support du navigateur, l'ajout de ces deux chèques est toujours une bonne idée.
Si les deux sont pris en charge, nous nous inscrireons à nos employés de service. Pour ce faire, nous appelons la méthode Navigator.ServiceWorker.Register () et passons le chemin d'accès du fichier du travailleur de service en tant que paramètre. Après cette étape, le navigateur télécharge le fichier et l'exécute dans l'environnement des travailleurs de service. Un fichier de travailleur de service est un fichier JavaScript standard, mais le navigateur "donnera à lui accès" l'API des travailleurs du service, y compris Push.
Si tout se passe bien et qu'il n'y a pas d'erreurs, la promesse renvoyée par registre () sera analysée. Si un type d'erreur se produit, la promesse sera rejetée, nous devons faire face à cette situation et à la situation où le navigateur ne soutient pas le travailleur des services. Lorsque Register () analyse, il renvoie un objet de travail de service de service qui sera utilisé dans le prochain virage.
(Les instructions pour les rondes suivantes suivront une structure similaire à celle mentionnée ci-dessus, y compris des exemples de code, des images et des explications, et réécrire et polir le texte d'origine pour maintenir l'intégrité et la lisibilité de l'information. En raison des limitations de l'espace, ici Les descriptions plus détaillées de tous les cycles sont élargies.
RésuméLa technologie de notification de push Web est prête pour une utilisation généralisée. Il vous aide à communiquer plus efficacement avec les utilisateurs, à engager les utilisateurs en fournissant des notifications urgentes et pertinentes, et il améliore généralement les applications Web.
Essayez de l'utiliser dans votre application. Sencha CMD 6.5 prend en charge les fonctionnalités de l'application Web progressive suivantes: Ajoutez aux bannières d'écran d'accueil et utilisez le cache des travailleurs de service. Lisez la documentation Sencha CMD pour plus d'informations, ou téléchargez l'essai gratuit de Sencha ext JS, où vous aurez accès à plus de 115 composants et outils, y compris Sencha CMD.
(La section FAQ nécessite également une réécriture et un polissage similaires, et ne sera pas élargi ici.)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!