Aller au contenu principal

Notification

Créer des notifications bureau spécifique à l'OS

Processus : Main

Utilisation dans le processus de rendu

SI vous voulez afficher des notifications depuis un processus de rendu, vous devez utiliser l'API HTML5 de notification

Classe : Notification

Créer des notifications bureau spécifique à l'OS

Processus : Main

Notification est un EventEmitter.

Cela crée une nouvelle Notification avec les propriétés natives définies par les options.

Méthodes statiques

La classe Notification dispose des méthodes statiques suivantes :

Notification.isSupported()

Retourne boolean - Si le système actuel prend en charge les notification bureau ou non

new Notification([options])

  • options Object (facultatif)
    • title string (optionelle) - Titre pour la notification, il sera affiché en haut de la fenêtre de notification lorsqu'elle sera affiché.
    • subtitle string (facultatif) macOS -0 Sous-titre pour la notification, qui sera affiché sous le titre.
    • body string (optionelle) - Texte du body de la notification, qui va être affichée en dessous le titre et le sous-titre.
    • silent boolean (facultatif) - Émet ou non un bruit de notification lors de l'affichage de la notification.
    • icon (string | NativeImage) (facultatif) - Une icône à utiliser dans la notification.
    • hasReply boolean (facultatif) macOS - Ajout ou non d'une option de réponse en ligne à la notification.
    • timeoutType string (facultatif) Linux Windows - Durée du timeout de la notification. Peut être 'default' ou 'never'.
    • replyPlaceholder string (facultatif) macOS - L'espace réservé à écrire dans le champ de saisie de réponse en ligne.
    • sound string (facultatif) macOS - Le nom du fichier audio à jouer lorsque la notification est affichée.
    • urgency string (optionelle) Linux - Niveau de l'urgence de la notification. Peut être 'normal', 'critical' ou 'low'.
    • actions NotificationAction[] (optional) macOS - Actions à ajouter à la notification. Vous trouverez les actions et limitations disponibles dans la documentation de NotificationAction.
    • closeButtonText string (facultatif) macOS - Titre personnalisé pour le bouton de fermeture d'une alerte. Si la chaîne est vide le texte localisé par défaut sera utilisé.
    • toastXml string (facultatif) Windows - Description personnalisée de la notification remplaçant toutes les propriétés ci-dessus. Fournit une personnalisation complète du design et du comportement de la notification.

Événements d’instance

Les objets créés avec new Notification émettent les événements suivants :

Remarque : Certains événements sont seulement disponibles sur des systèmes d'exploitation spécifiques et sont étiquetés comme tels.

Événement : 'show'

Retourne :

  • event Event

Émis lorsque la notification est affiché à l'utilisateur, notez que cet événement peut être émis plusieurs fois du fait qu'une notification peut être affichée plusieurs fois par le biais de la méthode show().

Événement : 'click'

Retourne :

  • event Event

Émis lorsque l'utilisateur clique sur la notification.

Événement : 'close'

Retourne :

  • event Event

Émis lorsque la notification est fermée manuellement par l'utilisateur.

Cet événement ne garantit pas d'être émis dans tous les cas de fermeture de la notification.

Événement : 'reply' macOS

Retourne :

  • event Event
  • reply string - La chaîne de caractères que l'utilisateur a écrite dans le champ de réponse.

Émis lorsque l'utilisateur clique sur le bouton "Reply" sur une notification avec hasReply: true.

Événement : 'action' macOS

Retourne :

  • event Event
  • index number - L'indice de l'action qui a été activée.

Événement : 'failed' Windows

Retourne :

  • event Event
  • error string - L'erreur rencontrée lors de l'exécution de la méthode show().

Émis lorsqu'une erreur est rencontrée lors de la création et de l'affichage de la notification native.

Méthodes d’instance

Les objets créés avec new Notification ont les méthodes d'instance suivantes :

notification.show()

Montre immédiatement la notification à l'utilisateur, veuillez noter que cela signifie que contrairement à la Mise en œuvre de la notification HTML5, instanciation d'une nouvelle notification fait ne pas le montrer immédiatement à l'utilisateur, vous devez appeler cette méthode avant le système d'exploitation l'affichera.

Si la notification a déjà été affichée auparavant, cette méthode rejettera la notification précédemment affichée et en créera une nouvelle avec des propriétés identiques.

notification.close()

Rejette la notification.

Propriétés d'instance

notification.title

Une propriété string représentant le titre de la notification.

notification.subtitle

Une propriété string représentant le sous-titre de la notification.

notification.body

Une propriété string représentant le corps de la notification.

notification.replyPlaceholder

Une propriété string représentant le placeholder de la réponse de la notification.

notification.sound

Une propriété string représentant le son de la notification.

notification.closeButtonText

Une propriété string représentant le texte du bouton de fermeture de la notification.

notification.silent

Une propriété boolean qui indique si la notification est silencieuse.

notification.hasReply

Propriété boolean indiquant si la notification a une action de réponse.

notification.urgency Linux

Propriété de type string représentant l'urgence de la notification. Peut être 'normal', 'critical' ou 'low'.

La valeur par défaut est 'low' - voir NotifyUrgency pour plus d'informations.

notification.timeoutType Linux Windows

Propriété string représentant le type de la durée du timeout pour la notification. Peut être 'default' ou 'never'.

Si timeoutType est défini à 'never', la notification n'expirera jamais. Elle restera ouverte jusqu'à sa fermeture par l'API ou par l'utilisateur.

notification.actions

Une propriété NotificationAction[] représentant les actions de la notification.

notification.toastXml Windows

Propriété de type string représentant le Toast XML de la notification.

Émettre des sons

Sur macOS, vous pouvez spécifier le nom du son que vous désirez émettre lors de l'affichage de la notification. N'importe quel son par défaut (dans préférences système > Son) peut être utilisé, en plus des fichiers audio personnalisés. Assurez-vous que le fichier audio soit copié dans l'app bundle (par exemple, VotreApp.app/Contents/Resources), ou l'un des emplacements suivants :

  • ~/Library/Sounds
  • /Library/Sounds
  • /Network/Library/Sounds
  • /System/Library/Sounds

Consultez la documentation de NSSound pour plus d'informations.