Passer au contenu principal




Les déclencheurs de notification vous permettent de planifier des notifications locales qui ne nécessitent pas de connexion réseau, ce qui les rend idéales pour les cas d'utilisation tels que les applications de calendrier.


Mise à jour

El desarrollo de Notification Triggers API, parte de Google
projet de capacités, est actuellement en attente. Ce message sera mis à jour au fur et à mesure que la mise en œuvre progressera.

Que sont les déclencheurs de notification?

Los desarrolladores la toile pueden mostrar notificaciones mediante el
API de notifications Web. Cette fonction est souvent utilisée avec Push API para informar al Nom d'utilisateur de información urgente, como noticias de última hora o mensajes recibidos. Las notificaciones se muestran ejecutando JavaScript en el dispositivo del usuario.

Le problème avec l'API Push est qu'il n'est pas fiable de déclencher des notifications qui devrait s'affiche lorsqu'une condition particulière est remplie, telle que l'heure ou le lieu. Un exemple de condition basée sur le temps est une notification d'agenda qui vous rappelle une réunion importante avec votre patron à 14 h. Un exemple de condition basée sur l'emplacement es una notificación que le recuerda que debe comprar leche cuando ingresa a las inmediaciones de su supermercado. La conectividad de red o las funciones de conservación de la batería, como el modo dormido, pueden retrasar la entrega de notifications push.

Les déclencheurs de notification résolvent ce problème en vous permettant de planifier à l'avance les notifications avec leur condition d'activation, de sorte que le système d'exploitation délivre la notification au bon moment même s'il n'y a pas de connectivité réseau ou que l'appareil est en mode d'économie de batterie.

Pour l'instant, Chrome ne prend en charge que déclencheurs basés sur le temps. Des déclencheurs supplémentaires, tels que des déclencheurs basés sur l'emplacement, peuvent être ajoutés à l'avenir, en fonction de la demande des développeurs.

Cas d'utilisation

Les applications de calendrier peuvent utiliser des déclencheurs de notification basés sur l'heure pour rappeler à l'utilisateur les réunions à venir. Le schéma de notification par défaut pour une application de calendrier peut être d'afficher une première notification une heure avant une réunion, puis une autre notification plus urgente cinq minutes avant.

Una cadena de televisión puede recordar a los usuarios que su programa de televisión favorito está a punto de comenzar o que está a punto de comenzar una transmisión en vivo de una conférence.

Los sitios de conversion de zona horaria pueden utilizar activadores de notificación basados ​​en el tiempo para permitir a sus usuarios programar alarmas para conferencias telefónicas o videollamadas.

État actuel

Il a passé État
1. Créez un explicatif Compléter
2. Créer une ébauche de spécification initiale Pas commencé
3. Recueillez les commentaires et répétez la conception En progrès
4. Preuve de l'origine Compléter
5. Lancez Pas commencé

Une preuve d'origine de la fonctionnalité, qui a donné aux développeurs la possibilité de tester l'API proposée, a fonctionné de Chrome 80 à 83 et s'est terminée le 29 juillet 2020. Malheureusement, nous n'avons pas reçu beaucoup d'inscriptions et les commentaires que nous avons reçus n'étaient pas solides. Pour l'instant, nous avons décidé de suspendre l'API jusqu'à nouvel ordre et de ne pas prolonger la preuve d'origine. La fonctionnalité continuera d'être disponible derrière la marque de fonctionnalité de plate-forme Web expérimentale pour que les développeurs puissent expérimenter l'API. Compte tenu de l'intérêt futur des développeurs ou de nouveaux cas d'utilisation, nous reconsidérerons l'API et reprendrons les efforts pour la standardiser.

Comment utiliser les déclencheurs de notification

Activation via chrome: // flags

Pour expérimenter l'API de déclenchement de revendications localement, sans jeton de test source, activez le
#enable-experimental-web-platform-features drapeau sur chrome://flags.

Détection des fonctionnalités

Puede averiguar si el le navigateur es compatible con los activadores de notificación comprobando la existencia del
showTrigger propriété:

si ("showTrigger" dans Notification.prototype) {
}

Planifier une notification

La planification d'une notification est similaire à l'affichage d'une notification push régulière, sauf que vous devez passer un showTrigger état de la propriété avec un TimestampTrigger objet comme valeur de réclamation options objet.

const createScheduledNotification = asynchrone (étiqueter, Titre, timestamp) => {
const enregistrement = attendre navigateur.serviceWorker.getRegistration();
enregistrement.showNotification(Titre, {
étiqueter: étiqueter,
corps: "This notification was scheduled 30 seconds ago",
showTrigger: new TimestampTrigger(timestamp + 30 * 1000)
});
};

Sur le bureau, la notification est déclenchée uniquement si Chrome est en cours d'exécution. Sur Android, ils tirent indépendamment.

Annuler une notification programmée

Pour annuler les notifications programmées, demandez d'abord une liste de toutes les notifications correspondant à une certaine balise via ServiceWorkerRegistration.getNotifications (). Veuillez noter que vous devez réussir le
includeTriggered Recherchez les notifications programmées à répertorier:

const cancelScheduledNotification = asynchrone (étiqueter) => {
const enregistrement = attendre navigateur.serviceWorker.getRegistration();
const notifications = attendre enregistrement.getNotifications({
étiqueter: étiqueter,
includeTriggered: vrai,
});
notifications.forEach((notification) => notification.close());
};

Dépuration

Vous pouvez utiliser le Panneau de notification Chrome DevTools pour déboguer les notifications. Pour démarrer le débogage, appuyez sur Démarrer l'enregistrement des événements record-8885793 ou
Contrôler+moi (Commander+moi sur Mac). Chrome DevTools enregistre tous les événements de notification, y compris les notifications planifiées, affichées et fermées, pendant trois jours, même lorsque DevTools est fermé.

devtools-planifié-4433090

Une notification programmée.

devtools-affichés-6666399

Une notification s'affiche.

Manifestation

Vous pouvez voir les déclencheurs de notification en action dans le manifestation, que le permite programar notificaciones, enumerar notificaciones programadas y cancelarlas. El code source está disponible en
Échec.

démo-9370521

Déclencheurs de notification manifestation.

Sécurité et autorisations

L'équipe Chrome a conçu et mis en œuvre l'API Notification Triggers en utilisant les principes de base définis dans Contrôlez l'accès aux fonctionnalités puissantes de la plate-forme Web, y compris le contrôle de l'utilisateur, la transparence et l'ergonomie. Étant donné que cette API nécessite des techniciens de service, elle nécessite également un contexte sécurisé. L'utilisation de l'API nécessite la même autorisation que les notifications push classiques.

Contrôle utilisateur

Cette API n'est disponible que dans le cadre d'un ServiceWorkerInscription. Cela implique que toutes les données requises sont stockées dans le même contexte et sont automatiquement supprimées lorsque le travailleur est supprimé du service ou lorsque l'utilisateur supprime toutes les données de site pour la source. Le blocage des cookies empêche également les techniciens de service d'être installés sur Chrome et donc d'utiliser cette API. L'utilisateur peut toujours désactiver les notifications pour le site dans les paramètres du site.

Transparence

Contrairement à l'API Push, cette API n'est pas dépendante du réseau, ce qui signifie que les notifications planifiées ont besoin au préalable de toutes les données nécessaires, y compris les ressources d'image référencées par le badge,
icône y image atributos. Esto significa que mostrar una notificación programada no es observable por el desarrollador y no implica despertar al trabajador del servicio hasta que el usuario interactúe con la notificación. En consecuencia, actualmente no existe una forma conocida de que el desarrollador pueda obtener información sobre el usuario a través de enfoques potencialmente invasores de la privacidad como la búsqueda de geolocalización de direcciones IP. Este diseño también permite que la función aproveche opcionalmente los mecanismos de programmation proporcionados por el sistema operativo, como el de Android.
AlarmManager, ce qui contribue à préserver la durée de vie de la batterie.

Retour

L'équipe Chrome souhaite connaître vos expériences avec les déclencheurs de notification.

Parlez-nous de la conception de l'API

Y a-t-il quelque chose dans l'API qui ne fonctionne pas comme prévu? Ou vous manquez-vous des méthodes ou des propriétés dont vous avez besoin pour mettre en œuvre votre idée? Vous avez une question ou un commentaire sur le modèle de sécurité? Déposer un problème de spécification sur le Dépôt GitHub des déclencheurs de notificationou ajoutez vos réflexions à un problème existant.

Problème avec la mise en œuvre?

Vous avez trouvé un bogue avec la mise en œuvre de Chrome? Ou la mise en œuvre est-elle différente de la spécification? Signaler un bogue dans new.crbug.com. Assurez-vous d'inclure autant de détails que possible, des instructions simples pour reproduire et configurer les composants UI> Notifications. Glitch fonctionne très bien pour partager des rediffusions de bogues rapidement et facilement.

Vous prévoyez d'utiliser l'API?

¿Planea usar activadores de notificación en su sitio? Su apoyo público nos ayuda a priorizar funciones y muestra a otros proveedores de navigateurs lo importante que es darles soporte. Enviar un tweeter à
@Cromodev avec Déclencheurs de notification # et faites-nous savoir où et comment vous l'utilisez.

Liens utiles

Merci

Les déclencheurs de notification ont été implémentés par Richard Knoll
et l'explication écrite par Peter Beverloo, con contribuciones de Richard. Las siguientes gens han revisado el artículo:
Joe medley, Pete LePageainsi que Richard et Peter. Image de héros pour
Lukas Blazek sur Unsplash.