Comment une application web peut-elle envoyer des notifications push aux appareils iOS? [fermé]

Je travaille sur une application web. Comment puis-je envoyer des notifications push aux utilisateurs iOS lorsqu'il y a du nouveau contenu?

107
demandé sur Dan Dascalescu 2011-02-09 02:26:46

11 réponses

Pour être plus précis, pour qu'une application web envoie des notifications push à un appareil mobile, tel que l'iPhone, l'appareil mobile doit être enregistré pour recevoir des notifications push pour une application particulière. L'enregistrement de la notification push se fait via une application native et ne peut être effectué que via une application native. Une fois que l'application native est enregistrée pour la notification push, elle peut envoyer le jeton d'autorisation au serveur, qui peut être utilisé conjointement avec le certificat utilisé pour fournir le client natif, pour envoyer les notifications push à l'appareil mobile.

Comme spécifié dans une autre réponse, une option consiste à 'envelopper' votre application web dans une application native. Ce qui signifie que vous créeriez une application native qui présente essentiellement un UIWebView (pour iPhone dev) à l'utilisateur montrant votre application web. Bien que cela fonctionne à peu près de la même manière que le navigateur natif, vous seriez en mesure d'ajouter la possibilité de vous inscrire pour push notifications à l'aide des contrôles natifs.

Il serait avantageux pour vous d'examiner le document de notification push D'Apple car il fournit de très bonnes informations sur la façon dont les fonctions de messagerie push sur l'iPhone.

Voir ces liens fournis par Peter Hosey:

87
répondu Kris Babic 2017-07-02 06:47:19

Non, seules les applications iOS natives prennent en charge les notifications push.

mise à jour:
Les sites web Mac OS X 10.9 et Safari 7 peuvent désormais également envoyer des notifications push, mais cela ne s'applique toujours pas à iOS. Lisez le guide de programmation de Notification pour les sites web . Consultez également WWDC 2013 Session 614 .

41
répondu Felix 2017-04-24 04:02:28

Alors que n'est pas encore pris en charge sur iOS (à partir d'iOS 10), les sites Web peuvent envoyer des notifications push à Firefox et Chrome (bureau/Android) avec l'API Push.

L'API Push est utilisée conjointement avec les anciennes notifications Web pour afficher le message. L'avantage est que L'API Push permet la notification même lorsque l'utilisateur ne surfe pas sur votre site web, car elles sont basées sur des travailleurs de Service (scripts enregistrés par le navigateur et peut être exécuté en arrière-plan à une date ultérieure, même après que votre Utilisateur a quitté votre site web).

Le processus d'envoi d'une notification implique ce qui suit:

  1. un utilisateur visite votre site Web (doit être sécurisé via HTTPS): vous demandez l'autorisation d'Afficher des notifications push et vous enregistrez un service worker (un script qui sera exécuté lorsqu'une notification push est reçue)
  2. si l'Utilisateur a accordé l'autorisation, vous pouvez lire le jeton de périphérique (point de terminaison) qui devrait être envoyé au serveur et stocké
  3. Maintenant, vous pouvez envoyer des notifications à l'utilisateur: votre serveur effectue une requête HTTP POST au point de terminaison (qui est une URL contenant le jeton de périphérique). Le serveur qui reçoit la demande appartient au fabricant du navigateur (par exemple Google, Mozilla): le navigateur y est constamment connecté et peut lire les notifications entrantes.
  4. lorsque le navigateur de l'utilisateur reçoit une notification exécute le travail, qui est responsable de la gestion de la l'événement, la récupération des données de notification à partir du serveur et l'affichage de la notification à l'utilisateur

Le Push API est actuellement pris en charge sur desktop et Android par Chrome, Firefox et Opéra.

Vous pouvez également envoyer des notifications push à Apple / Safari bureau en utilisant APNs. L'approche est similaire, mais avec de nombreuses complications (certificats de développeur apple, paquets push, connexion TCP de bas niveau aux APN).

Si vous vous voulez implémenter les notifications push par vous-même commencez par ces tutoriels:

Si vous cherchez une solution de baisse, je suggère Pushpad , qui est un service que j'ai construit.

Mise à jour (septembre 2017): Apple a commencé à développer les travailleurs de service pour WebKit (statut). Étant donné que les travailleurs de service sont une technologie fondamentale pour la poussée web, c'est un grand pas en avant.

36
répondu collimarco 2017-09-22 18:11:55

Google Chrome prend désormais en charge la norme W3C pour les notifications push.

Http://www.w3.org/TR/push-api/

10
répondu BonzaiThePenguin 2015-04-24 08:03:55

En fait.. Ceci est tout nouveau esprit que vous.. Sur la dernière version D'OS X (Mavericks), vous Pouvez envoyer des notifications push depuis une page web vers le bureau. Mais selon la documentation, pas les iPhones:

Note: This document pertains to OS X only. Notifications for websites do not appear on iOS.

Actuellement, Apple prévoit d'autoriser 2 types de notifications push: OS X site Notifications Push et les Notifications locales.

L'obstacle évident ici est que cela ne fonctionnera pas sur les PC, ni ne vous permettra de faire Android push notification.

En outre, vous pouvez réellement avec des versions aussi anciennes que Snow Leapord, envoyer des notifications push à partir d'un site Web tant que ledit site est ouvert et actif. Le nouveau système D'exploitation Mavericks autorisera les notifications push même si le site n'est pas ouvert, en supposant que vous avez déjà autorisé ledit site à envoyer des notifications push.

De la bouche de pomme:

Dans OS X v10. 9 et versions ultérieures, vous pouvez envoyer des Notifications push de site web OS X depuis votre serveur web directement vers Utilisateurs OS X en utilisant le service de Notification push D'Apple (APNs). À ne pas confondre avec les notifications locales, les notifications push peuvent atteindre vos utilisateurs, que votre site web ou leur navigateur Web soit ouvert ...

Pour intégrer les notifications push dans votre site web, vous présentez d'abord une interface qui permet à l'utilisateur de choisir de recevoir des notifications. Si L'utilisateur y consent, Safari contacte votre site Web en lui demandant ses informations d'identification sous la forme d'un fichier appelé package push. Push le package contient également des ressources de notification utilisées dans OS X et des données utilisées pour communiquer avec un service web que vous configurez. Si le package push est valide, Vous recevez un identifiant unique pour l'utilisateur sur le périphérique connu sous le nom de jeton de périphérique. L'utilisateur reçoit la notification lorsque vous envoyez la combinaison de ce jeton de périphérique et votre message, ou charge utile, à APNs.

Lors de la réception de la notification, l'utilisateur peut cliquer dessus pour ouvrir une page web de votre choix à l'utilisateur par défaut navigateur.

Remarque: Si vous avez besoin d'un rappel sur APNs, lisez le chapitre "Apple Push Notification Service" dans le guide de programmation des notifications locales et Push. Bien que le document soit spécifique aux notifications push iOS et OS X, les paradigmes du service de notification push s'appliquent toujours.

9
répondu Jonathan Nemeth 2014-06-19 15:25:31

Vous pouvez utiliser pushover si vous ne voulez pas créer votre propre application native: https://pushover.net/

8
répondu Sam 2012-08-10 13:45:53

Non, il n'y a aucun moyen pour une webapp de recevoir une notification push. Ce que vous pouvez faire est d'envelopper votre webapp dans une application native qui a des notifications push.

7
répondu JustSid 2011-02-08 23:40:26

Le W3C a créé en 2010 un groupe de travail chargé de mettre en œuvre les notifications:
http://www.w3.org/2010/web-notifications/

Ce groupe de travail développe des API qui exposent ces mécanismes aux Applications Web-afin que les développeurs web qui créent, par exemple, des clients de messagerie Web et des clients de messagerie instantanée puissent intégrer plus étroitement leur comportement d'application Web aux fonctionnalités de notification des systèmes d'exploitation de leurs utilisateurs finaux.

Enfin le le résultat est une mauvaise blague qu'il ne fonctionne que si le site est ouvert: http://alxgbsn.co.uk/notify.js/

Je pense qu'ils ont manqué d'implémenter la possibilité d'ajouter des URL push afin que le navigateur puisse demander des notifications en cours d'exécution en arrière - plan - et surtout-si tous les onglets ont été fermés.

2
répondu mgutt 2015-02-04 15:32:04

Vous pouvez utiliser les Websockets HTML5 pour introduire vos propres messages push. À Partir De Wikipédia:

" pour le côté client, WebSocket devait être implémenté dans Firefox 4, Google Chrome 4, Opera 11 et Safari 5, ainsi que la version mobile de Safari dans iOS 4.2. En outre le Navigateur BlackBerry dans OS7 prend en charge Les WebSockets."

Pour ce faire, vous avez besoin de votre propre serveur fournisseur pour envoyer les messages aux clients.
Si vous souhaitez utiliser APN (Apple Push Notification) ou C2DM (Cloud to Device Message), vous devez disposer d'une application native qui doit être téléchargée via la boutique en ligne.

2
répondu Foyzul Karim 2015-08-26 18:07:46

Pushbullet est une excellente alternative pour les ce.

Cependant, l'utilisateur doit avoir un compte Pushbullet et l'application installée (iOS, Android) ou un plugin installé (Chrome, Opera, Firefox et Windows).

Vous pouvez utiliser l'API en créant une application Pushbullet et en connectant l'utilisateur de votre application à L'utilisateur Pushbullet en utilisant oAuth2.

Utiliser une bibliothèque le rendrait beaucoup plus facile, pour PHP je pourrais recommander ivkos / Pushbullet-for-PHP .

2
répondu Tim 2016-08-18 14:32:32

Consultez les notifications push Web Xtify. http://getreactor.xtify.com/ cet outil vous permet de pousser le contenu sur une page Web et de cibler les visiteurs ainsi que de déclencher des messages basés sur les événements DOM du navigateur. Il est conçu spécifiquement avec mobile à l'esprit.

1
répondu Jeremy 2013-06-20 22:57:20