Action Triggers
L'action « Triggers » vous permet d'envoyer un signal à Broadsign Control Player API pour activer un contenu spécifique pour la lecture à l'écran.
Note : Vous pouvez exécuter des commandes remote_action et triggers sur Windows, Ubuntu Linux et Android.
Lorsque vous utilisez des déclencheurs, vous devez d'abord attribuer la désignation Follower à une politique de boucle du cadre dans lequel le contenu déclenché sera lu. Une fois activée par un signal, le cadre Follower basculera alors immédiatement vers le contenu correspondant à la catégorie de déclenchement assignée.
Tous les déclencheurs Actions qui appellent Broadsign Control Player API, que ce soit via monitor_remote ou autrement, utilisent le port 2325. Toutes les autres actions qui appellent Broadsign Control Player API utilisent le port 2324. Voir Broadsign Control Player API - Aperçu.
Note : Pour ajouter des actions de déclenchement, vous devrez activer les déclencheurs réseau. Voir L'onglet «Triggers».
Note : Les déclencheurs réseau doivent être configurés dans la configuration à distance des lecteurs concernés. Pour plus d'informations, voir L'onglet «Triggers».
Le lecteur peut accepter les déclencheurs en utilisant l'une des méthodes suivantes :
- Via un port série utilisant le protocole RS-232. Voir Utiliser les déclencheurs de port série.
- Via la fonctionnalité monitor_remote qui écoute les messages XML via des connexions socket TCP sur l'hôte local du lecteur. Voir Utiliser les déclencheurs à distance du moniteur.
- Par le biais d'un signal réseau (diffusion UDP, multidiffusion UDP ou TCP), où un lecteur Leader signale aux lecteurs Follower sur le même réseau. Voir L'onglet «Triggers» et Utiliser les déclencheurs de cadre Leader.
- Via des commandes de copie publicitaire pour lancer des actions au début ou à la fin de la lecture d'une copie publicitaire. Voir Onglet Commands.
- Via une campagne de déclenchement diffusée sur un cadre séparé de la même unité d'affichage.
- Par le biais d'un événement tactile à l'écran, lorsque le moniteur le prend en charge, qui déclenche un signal spécifique sur le cadre touché. Voir Campagnes interactives.
Créer du contenu déclenché (Follower) peut être réalisé en trois étapes :
- Ajouter une catégorie de déclencheur à utiliser par les cadres affichant le contenu déclenché – Créez une nouvelle catégorie pour le déclencheur avec un nom descriptif (par exemple, « Déclencheur en série »). Voir Ajouter une catégorie.
- Activer le signal Follower sur les politiques de boucle des cadres ciblés – Modifiez les politiques de boucle respectives des cadres correspondants et définissez le paramètre de synchronisation sur Follower. L'événement déclencheur activera et lira le contenu programmé dans la politique de boucle « Follower ». Voir La section «Settings».
- Réserver des campagnes ciblant le cadre Follower contenant des bundles avec la catégorie de déclencheur correspondante (par exemple un bundle avec la catégorie « Déclencheur en série »). Voir Page «Bundle Trigger Category».
Liste de lecture
Lorsque la campagne Follower se termine, l'action par défaut consiste à rejouer le créneau interrompu. Toutefois, si vous utilisez Trigger Next, Trigger Timeout ou Trigger Skip Control, vous disposez d'autres options. Voir Utiliser les déclencheurs de ligne de commande.
Par défaut, les cadre Follower filtreront tout bundle possédant un Category ID et attendront le déclencheur avant de lire le contenu déclenché. Il en résulte que le contenu déclenché n'est lu que lorsque le cadre Leader affiche le contenu approprié.
Pour permettre à un lecteur de recevoir des signaux via un port série, vous devez créer un fichier triggers.xml. Lorsque des octets sont disponibles sur le port, le lecteur les lit et effectue une recherche dans le fichier triggers.xml pour voir s'ils correspondent à un identifiant de catégorie. Si une correspondance est trouvée, il utilise le système de synchronisation pour modifier instantanément le contenu du lecteur.
Un minuteur configurable lira périodiquement le fichier triggers.xml si l'horodatage de modification change. Ceci permet au service de surveillance de la synchronisation de synchroniser le fichier périodiquement. Voir Moniteur de synchronisation.
Note : Les déclencheurs réseau doivent être configurés dans la configuration à distance des lecteurs concernés. Pour plus d'informations, voir L'onglet «Triggers».
Tous les déclencheurs Actions qui appellent Broadsign Control Player API, que ce soit via monitor_remote ou autrement, utilisent le port 2325. Toutes les autres actions qui appellent Broadsign Control Player API utilisent le port 2324. Voir Broadsign Control Player API - Aperçu.
Exemple de triggers.xml
<triggers version="1.0">
<device type="serial" enabled="1">
<param name="name" value="COM3"/>
<param name="internal_name" value="com_port3"/>
<param name="bps" value="9600"/>
<param name="byte_size" value="7"/>
<param name="parity" value="none"/>
<param name="read_timeout" value="50"/>
<param name="write_timeout" value="50"/>
<param name="flow_control" value="off"/>
<param name="stop_bits" value="1"/>
</device>
<trigger match="01" category_id="2840831" duration="10000"/>
<trigger match="02" category_id="2840832" duration="10000"/>
<trigger match="*" category_id="2840833" duration="10000"/>
</triggers>
| Paramètre | Description |
|---|---|
| param name | Ces champs servent à spécifier les propriétés de communication standard du port RS-232. |
| trigger match | Les informations hexadécimales envoyées d'un périphérique externe au lecteur. Le caractère spécial « * » est une valeur par défaut facultative si aucune autre correspondance n'est trouvée. |
| category_id | La catégorie de bundle du contenu qui sera déclenché. |
| duration | La durée en millisecondes pendant laquelle le contenu déclencheur sera affiché. |
Note : Les déclencheurs réseau doivent être configurés dans la configuration à distance des lecteurs concernés. Pour plus d'informations, voir L'onglet «Triggers».
Tous les déclencheurs Actions qui appellent Broadsign Control Player API, que ce soit via monitor_remote ou autrement, utilisent le port 2325. Toutes les autres actions qui appellent Broadsign Control Player API utilisent le port 2324. Voir Broadsign Control Player API - Aperçu.
Lorsqu'on utilise des déclencheurs XML, il n'est pas nécessaire de créer un fichier triggers.xml.
Les informations relatives à la correspondance du déclencheur et à la catégorie doivent être définies dans le message XML, puis envoyées au port 2325 comme suit :
<rc version="1" id="1" action="trigger" trigger_category_id="1234" duration="1000"/>\r\n\r\n
Note : Vous devez terminer la requête avec \r\n\r\n.
Et la réponse est :
<rc id="1" version="1" action="trigger" status="1"/>
Note : Chaque commande envoyée nécessite un identifiant unique (id). L'application peut utiliser ici une valeur d'incrémentation simple.
Tous les cadres affichés à l'écran au moment où ils sont configurés pour être cadres Follower diffuseront immédiatement les bundles de copies publicitaires dont l'identifiant de catégorie de déclenchement correspondant est défini.
Action « Triggers » - Paramètres
Note : Tout pare-feu présent sur le lecteur doit être configuré pour permettre à bsp.exe d'ouvrir des ports, ou pour configurer directement le port port 2325 pour l'utiliser.
| Paramètre | Description |
|---|---|
| version | La version est toujours 1. |
| id | Contient la valeur ACT. |
| action | Le type d'action à entreprendre, est toujours « trigger ». |
| trigger_category_id | La catégorie de bundle du contenu qui sera déclenché. |
| duration | La durée en millisecondes pendant laquelle le contenu déclencheur sera affiché. |
Note : Les déclencheurs réseau doivent être configurés dans la configuration à distance des lecteurs concernés. Pour plus d'informations, voir L'onglet «Triggers».
Nous proposons un tutoriel décrivant les étapes de la synchronisation des cadres. Voir Synchronisation de cadre.
Il est également possible de déclencher la lecture dans un cadre Follower d'une unité d'affichage en jouant un contenu déclencheur dans un cadre Leader. Ceci est généralement utilisé pour synchroniser le contenu entre les cadres d'un même écran.
Pour créer du contenu déclencheur (Leader) et déclenché (Follower), vous devez créer les éléments suivants :
- Une catégorie de déclencheur à utiliser par les cadres de synchronisation – Créez une nouvelle catégorie pour le déclencheur avec un nom descriptif (par exemple, « Déclencheur de synchronisation »).
- Les désignations Leader et Follower des politiques de boucle des cadres correspondants – Modifiez les politiques de boucle respectives des cadres appariées et définissez l'indicateur de synchronisation sur Leader ou Follower. Le contenu déclencheur dans le cadre utilisant la politique de boucle « Leader » déclenchera la lecture du contenu Follower programmé dans la politique de boucle « Follower ».
- Créez des campagnes distinctes ciblant les cadres Leader et Follower contenant des bundles avec la catégorie de déclenchement correspondante (par exemple, « Déclencheur de synchronisation »).
Lorsqu'un élément de contenu dans le cadre Leader est joué qui a une catégorie qui correspond à la catégorie Leader / Follower, il activera ensuite le contenu dans le cadre Follower.
À titre d'exemple, cette technique peut être utilisée pour afficher les horaires des séances de cinéma dans une barre latérale lorsque l'aperçu du film apparaît dans la fenêtre principale.
Lors de l'utilisation de déclencheurs externes, il n'est pas nécessaire de spécifier un cadre Leader. C'est parce que le cadre Follower recevra un signal provenant soit d'une connexion RS-232, soit d'une connexion XML. Le cadre Follower, cependant, doit utiliser une politique de boucle signalée par Follower.
Déclencheurs externes pour lecteurs Leader
Comportement des déclencheurs externes
Il est possible de définir une politique de boucle Leader afin qu'elle accepte les déclencheurs externes. La configuration s'effectue dans la configuration distante associée au lecteur Leader permettant de sélectionner l'ensemble des identifiants de déclenchement qui seront émis à partir d'une source externe.
Les déclencheurs externes sélectionnés seront utilisés lorsqu'une politique de boucle Leader génère sa liste de lecture. Tous les éléments de la liste de lecture dont l'identifiant de déclenchement correspond à l'un des déclencheurs externes seront retirés de la liste de lecture et placés dans un conteneur de contenu déclenchable.
Cela signifie que tout contenu programmé pour le Leader avec un élément déclencheur correspondant à l'un des identifiants de déclencheur externe ne sera pas lu dans le cadre de la boucle normale : il ne sera lu que lorsqu'il sera déclenché par une application externe.
Note : Le rapport Loop Snapshot n'affiche pas les campagnes liées à des déclencheurs externes comme « contenu déclenché ».
Note : Les déclencheurs réseau doivent être configurés dans la configuration à distance des lecteurs concernés. Pour plus d'informations, voir L'onglet «Triggers».
Il est également possible de déclencher des actions en utilisant l'exécutable trigger intégré. Vous pouvez le trouver dans le répertoire bin/ d'une installation Broadsign Control Player.
Usage:
./trigger trigger_category_id [options]
Options:
-?, -h, --help: Displays this help.
-v, --version: Displays version information.
-a, --address <hostName>: Address to connect [localhost or ignored if broadcasting].
-p, --port <port>: Port to connect [2324 or 2325 if broadcasting].
-S, --ssl: Use SSL/TLSv1.
-w, --password <password>: Use provided password (Tcp only).
-d, --duration <duration>: Duration in milliseconds [0 (no duration)] (unused for action_name "condition").
-b, --broadcast: UDP Broadcast.
-u, --prebuffer <prebuffer>: Instead of playing the trigger right away, pre-buffer it for the next playback. [false]
-n, --play_next <playNext>: Instead of playing the trigger right away, insert it next in the playlist. [false]
-i, --id <playerId>: Player ID broadcasting the trigger (UDP only).
-s, --synchronization_set <sourceName>: Name of the synchronization Set.
-r, --synchronization_role <syncRole>: Synchronization Role (1 - Leader, 2 - Backup Leader).
-o, --disable_audio <disableAudio>: If supported, disable the audio. The prebuffer setting needs to be true. [false]
-t, --timeout <timeout>: When using play_next, interrupt the current content after the specified timeout in milliseconds. [0 (no timeout)]
-c, --truncate_current <truncateCurrent>: Do not restart the current content after the trigger has finished playing. [false]
Arguments:
trigger_resource_id: Trigger Category ID
- -n [ --play_next ] arg : Au lieu de jouer le déclencheur immédiatement, insérez-le ensuite dans la liste de lecture.
- -t [ --timeout ] arg : Lors de l'utilisation de play_next, interrompt le contenu actuel après le délai spécifié en millisecondes. [0 (pas de délai d'attente)]
Il est possible de spécifier une option « play next » sur les déclencheurs externes afin qu'au lieu de lire immédiatement le contenu déclenché, celui-ci soit inséré comme suivant dans la liste de lecture.
En plus de l'action play_next, une autre valeur de délai d'attente optionnelle peut être ajoutée. Cette valeur de délai d'attente permettra de s'assurer que le contenu « Trigger Next » n'aura pas à attendre trop longtemps avant de s'afficher. Si le contenu en cours de lecture dépasse la durée limite définie, il sera interrompu et le contenu suivant sera lu.
La valeur du délai d'attente est facultative. Si aucune spécification n'est fournie, le « Trigger Next » attendra la fin de l'emplacement actuel avant de s'afficher. Le délai d'attente peut être spécifié comme option de ligne de commande pour trigger et également via un attribut XML qui peut être envoyé au port 2325.
- -c [ --truncate_current ] arg : Ne pas redémarrer le contenu actuel une fois que le déclencheur a terminé sa lecture.
Par défaut, lorsqu'un déclencheur provoque une interruption de la lecture du contenu, ce dernier redémarre une fois le déclencheur terminé. Avec l'option truncate_current, ce comportement ne s'appliquera plus et le spot suivant sera lu.
Une application personnalisée peut utiliser des déclencheurs en envoyant un message JSON au serveur WebSocket des déclencheurs (port 2326). Vous devrez activer le serveur WebSocket. Pour plus d'informations, consultez Section Devices and Triggers.
{
"rc": {
"synchronization_role": "2",
"truncate_current": "0",
"version": "6",
"pre_buffer": "0",
"synchronization_set": "0",
"disable_audio": "0",
"trigger_category_id": "49114",
"action": "trigger",
"id": "1"
}
}
Note : Chaque commande envoyée nécessite un identifiant unique (id). L'application peut utiliser ici une valeur d'incrémentation simple.
Le lecteur répondra avec le document suivant :
{
"rc": {
"id": "1",
"version": "6",
"action": "trigger",
"status": "1"
}
}
Action « Triggers » - Paramètres JSON
Si vous utilisez JSON via le serveur WebSocket, tout pare-feu présent sur le lecteur doit être configuré pour accéder directement au port 2326. Pour plus d'informations, consultez L'onglet «Triggers».
| Paramètre | Description |
|---|---|
| id | Contient l'identifiant de la requête. |
| version | La version de l'action « trigger ». |
| action | Le type d'action à entreprendre, en l'occurrence trigger. |
| status | Un résultat de « 1 » indique que la commande a réussi. |
| synchronization_role | Le rôle de la ressource dans la configuration de la synchronisation (1 - Leader, 2 - Leader de secours). |
| truncate_current | Ne pas relancer le contenu en cours une fois le déclencheur terminé. [false] |
| pre_buffer | Au lieu de déclencher immédiatement l'événement, pré-mettez-le en mémoire tampon pour la prochaine lecture. [false] |
| synchronization_set | Nom de l'ensemble de synchronisation. |
| disable_audio | Si cette fonctionnalité est prise en charge, désactiver le son. Le paramètre pre_buffer doit être défini sur true. [false] |
| trigger_category_id | L'identifiant de la catégorie de déclenchement. |

