SmartFeed
SmartFeed
SmartFeed s'appuie sur la fonction de synchronisation de moniteur existante de Broadsign (voir Section Monitor Sync). Vous pouvez saisir des scripts dans Broadsign Control Administrator pour activer dynamiquement le contenu en fonction des déclencheurs que vous choisissez.
Exemple : Imaginez que vous ayez un grand écran à côté d'une grande autoroute. Vous souhaitez que certains contenus s'affichent si la température extérieure est supérieure à 20 °C, et d'autres contenus s'affichent si la température extérieure est inférieure à 20 °C. Utiliser la fonctionnalité SmartFeed de Broadsignpermet d'ajouter un script qui affichera les données météorologiques en direct. En fonction des variations de température, votre contenu s'adaptera à vos souhaits.
Prérequis
SmartFeed est une fonctionnalité avancée.
Avant de configurer cette fonctionnalité, assurez-vous d’être familiarisé avec les éléments suivants :
Flux de travail
Le flux de travail est identique à celui d'une réservation de contenu classique (voir Tutoriel sur le contenu et la planification), avec les différences suivantes :
- Créer des conditions : Créez des conditions pour chaque scénario (dans notre exemple, « chaud » pour > 20 °C et « froid » pour < 20 °C).
- Configurer SmartFeed : Créez une configuration et activez SmartFeed.
Nous allons créer deux conditions : l'une appelée « Chaud » et l'autre « Froid ».
Pour créer les conditions :
- Parmi les onglets de ressources situés à gauche, sélectionnez Criteria & Conditions.
-
Dans l'onglet Network Setup, cliquez sur l'icône Folder. Créez un dossier nommé « SmartFeed ».
-
Cliquez sur l'icône Criteria or Condition.
- Dans la boîte de dialogue Select a folder , sélectionnez « SmartFeed ».
- Cliquez sur OK. L'assistant Add Criteria Wizard s'ouvre.
- Nommez l'état « Chaud ». Cliquez sur Next.
- Sur la page Criteria Type, sélectionnez Condition et désélectionnez All. Cliquez sur Finish.
- Répétez les étapes 3 à 7, créant une condition appelée « Froid ».
La majeure partie du travail nécessaire à la configuration de SmartFeed s'effectue dans le profil de configuration du lecteur.
Note : Vous devez créer un profil qui soit en version v13.0 ou supérieure.
Pour configurer SmartFeed :
- Créez une configuration.
- Créez un profil de configuration. Nous appellerons le nôtre « v13.0 ».
-
Ouvrez les propriétés du profil de configuration (double-cliquez sur le profil). Accédez à Monitor Sync > URLs.
-
Cliquez sur Add. La boîte de dialogue Synchronization URL s'ouvre.
- Pour notre exemple, nous configurerons les paramètres suivants :
Remote URL
https://samples.openweathermap.org/data/2.5/weather?q=London,uk&appid=b6907d289e10d714a6e88b30761fae22
Note : Cette URL nous fournira des données météorologiques en direct pour la région de Londres, au Royaume-Uni.
- Destination Path – Obligatoire. Le chemin local vers lequel vous synchroniserez le contenu. Ce chemin peut être relatif ou absolu. Si le chemin est relatif, le contenu sera synchronisé dans le chemin de données de l'application du lecteur, qui est généralement C:\Documents and Settings\All Users\Application Data\BroadSign\bsp\share\bsp\sync. Si le chemin est absolu, assurez-vous que l'utilisateur sous lequel BSP s'exécute dispose d'un accès en lecture/écriture au chemin de destination. Si aucun chemin spécifique n'est requis, indiquez le répertoire courant (" . ").
- Protocol – Sélectionnez HTTP/HTTPS.
- Enable SmartFeed – Sélectionnez cette option pour activer la fonctionnalité.
-
Dans la boîte de dialogue Synchronization URL, sélectionnez Edit Script. L'éditeur de script s'ouvre.
Note : Si vous avez ajouté une URL à l'étape 5, l'objet de données représente les champs de votre document et apparaîtra dans l'arborescence du document.
-
Utilisez l'arborescence des documents pour mettre à jour votre script. Vous pouvez double-cliquer sur un champ pour l'insérer automatiquement dans votre code. Dans notre exemple, nous insérerons ce qui suit :
Copierif (data.main.temp > 20){
remoteAction({"action": "condition", "enabled": 1, "name": "Hot"});
remoteAction({"action": "condition", "enabled": 0, "name": "Cold"});
}else if(data.main.temp <= 20){
remoteAction({"action": "condition", "enabled": 1, "name": "Cold"});
remoteAction({"action": "condition", "enabled": 0, "name": "Hot"});
}
Il est possible de disposer d'informations persistantes de sorte qu'une fonctionnalité ne se déclenche qu'une seule fois, lorsqu'un élément change dans les données obtenues du flux RSS. Utilisez les fonctions suivantes :
- localStorage.setItem
- localStorage.getItem
Voici un exemple de script :
for (var i = 0; i < data.length; i++) {
var condition = data[i];
var previouslySavedExpiry = localStorage.getItem(condition.name + "_expiry");
var expiry = condition.expiry;
if (new Date(expiry).getTime() <= Date.now() && expiry != previouslySavedExpiry) {
var action = {
"action": "play_now",
"name": condition.name,
"max_duration": condition.max_duration
};
remoteAction(action);
localStorage.setItem(condition.name + "_expiry", expiry);
}
}
Conseil : Pour éviter d'appeler l'action distante à chaque fois que le fichier est synchronisé via Monitor Sync, utilisez le champ d'expiration comme variable de sécurité conservée sur le disque. Lorsque la condition est ajoutée au fichier, un horodatage d'expiration est généré, par exemple : expiry = Now() + 5 minutes. La durée d'expiration doit être supérieure à la période de rafraîchissement de la synchronisation du moniteur.





