Datenquellen
Kalenderintegration als Datenquelle
Daten Bindung
Daten Bindung
Externe Datenquellen
Verbinden von Datenquellen
Sie können verschiedene Arten von externen Datenquellen an unser System anbinden. Derzeit werden folgende Typen unterstützt:
- Json (in den meisten Fällen beraten),
- XML
- Google Tabellen,
- ICal-Kalender (Google, Apple, etc.),
- NodeJS-Skripte (in unser System hochgeladen).

Navigieren Sie zum Menü "Einstellungen", suchen Sie nach "Datenquellen" und klicken Sie auf "Neu hinzufügen". Sie können entweder ein neues Google-Blatt erstellen oder in jedem anderen Fall auf "Vorhandene URL verwenden" klicken. URL kann alles sein, auf das von Ihrem Server aus zugegriffen werden kann (localhost, internes Netzwerk, www, ...) und ist oder gibt einen unterstützten Typ zurück. Ihre Datenquellen-URL kann beispielsweise in etwa wie folgt aussehen:
https://www.example.com/myDatasource.JSON
In diesem Fall ist der "Typ" JSON. Stellen Sie die "Aktualisierungszeit" entsprechend der Häufigkeit ein, mit der sich Ihre Daten normalerweise ändern und wie schnell Sie Ihre Inhalte benötigen, um die Änderung anzuzeigen. Wenn alles richtig eingerichtet ist, sehen Sie nach einem Klick auf die Schaltfläche "Vorschau" Ihre Daten.

Hinweis für Systemadministratoren: Sie können auch über das Administratormenü auf Datenquellen zugreifen. Sie können auch die minimale Aktualisierungszeit festlegen, die Ihre Kunden im Menü "Systemeinstellungen" festlegen dürfen.
Verwenden einer Google-Tabelle in einem Inhalt
Google Tabellen sind begrenzt, aber einfacher zu bedienen. Geben Sie die Spaltennamen in die erste Zeile und Details der darunter liegenden Entitäten Zeile für Zeile ein. Wenn Sie beispielsweise ein Café-Menü erstellen, können Ihre Spaltennamen Name, Preis und Details lauten, und Ihre Zeilen enthalten die verschiedenen verfügbaren Kaffees.

Erstellen und öffnen Sie einen neuen Inhalt und suchen Sie dann den Abschnitt "Inhalt" im linken Menü. Klicken Sie auf die Schaltfläche "B-ase-Datenpfad".

Wählen Sie Ihre Datenquelle und die Spalte mit einem eindeutigen Bezeichner aus. In diesem Fall ist dies Name.

Fügen Sie ein "Text" -Widget hinzu und anstatt Ihren Text einzugeben, wählen Sie es aus, indem Sie auf das angezeigte Widget klicken und die Registerkarte "Andere" im linken Menü suchen. Klicken Sie auf "An Daten binden ". Sie können auch auf dieses Menü zugreifen, indem Sie die Umschalttaste gedrückt halten und auf Ihr Text-Widget doppelklicken.


Wählen Sie eines Ihrer Felder, in diesem Fall haben wir das Feld Name aus der ersten Zeile ausgewählt. Da wir zuerst eine Basisdatenquelle einrichten, müssen wir nur die "Zeile" und die "Spalte" auswählen.

Jetzt können wir zwei weitere Text-Widgets für den Preis und die Details hinzufügen.

Der Preis ist schwierig, weil wir 300 in unserem Datenblatt haben, aber wir wollen $ 3.00 anzeigen. Wir können dies erreichen, indem wir "Spezielle Formatierung" am unteren Rand dieses Popup-Fensters aktivieren.
Das Zahlenformatformat liest sowohl die Eingabe als auch das Format ab dem letzten Zeichen. Alle 9 und 0 werden durch die entsprechende Ziffer ersetzt. Jedes andere Zeichen in der Maske wird an der angegebenen Position hinzugefügt. 0's werden in einer kleineren Größe angezeigt. Wenn die Eingabe länger als die Maske ist, wird die erste Ziffer der Maske wiederholt. "9.00" zeigt jeden Preis mit großen Zahlen, einem Punkt und den letzten beiden Ziffern als kleinere Zahlen an, genau wie "9999999.00". Eine Telefonnummer kann mit einer Maske wie +99/99 999 99-99 angezeigt werden.

Beachten Sie auch, dass die Auswahl der 1. Reihe bedeutet, dass alles, was sich in der 1. Reihe befindet, angezeigt wird, obwohl sich daneben ein Hinweis (Name: Espresso) befindet, um die Einrichtung zu erleichtern. Wenn Sie also Latte Macchiato anstelle von Espresso in Ihre erste Zeile einfügen, wird der Inhalt dies stattdessen anzeigen. Oder, wenn Sie den Preis von Espresso ändern, wird der Inhalt dies widerspiegeln.
Sie können jede beliebige Textformatierung auf ein normales "Text" -Widget anwenden, indem Sie das rechte Menü verwenden.

Sie können alles kopieren und einfügen und verschiedene Zeilen auswählen. Wenn ein Widget über eine gebundene Datenquelle verfügt, wird durch Doppelklicken automatisch das Datenbindungs-Popup geöffnet.


Sie können auch Bilder binden. Damit dies funktioniert, müssen Sie ein Bild mit genau demselben Namen wie eines Ihrer Datenfelder hochladen (oder es nach dem Hochladen umbenennen). Sie können das Popup "File" öffnen, indem Sie auf ein "Bild" -Widget doppelklicken oder Alt + M drücken.


Fügen Sie ein "Bild" -Widget hinzu und öffnen Sie das Popup-Fenster "An Daten binden". Wir können 1 / Name für das Bild wählen, das gleiche, was wir für das erste Text-Widget gewählt haben. Auf der Registerkarte "Daten" sehen wir den gleichen "Cappuccino" -Text, aber wenn wir auf "Vorschau" klicken, wird das Bild angezeigt.

Wenn die Proportionen Ihres Bildes verzerrt sind, verwenden Sie die Option "Bildproportionen zurücksetzen" im linken Menü.

Sie können Google Tabellen mit jedem anderen Widget verwenden, das weiter unten in dieser Dokumentation erläutert wird.
Verwenden von Json/XML-Datenquellen im Inhalt
(Bitte lesen Sie zuerst den obigen Google Sheet-Abschnitt!)
Während Google Tabellen immer eine feste Tiefe (eine Tabelle) haben, können benutzerdefinierte Datenquellen tiefer sein. Zum Beispiel enthält die Datenbank eines Elektronikgeschäfts Produkte (sagen wir, Fernseher) und jeder Fernseher hat einfache Datenfelder wie Name, Preis, vorheriger Preis, Anzahl der HDMI-Eingänge usw. Jeder von ihnen kann auch eine Tabelle mit all den verschiedenen Merkmalen als Schlüssel-Wert-Paare oder sogar ein ähnliches Array haben.
Erstellen Sie einen "New-Inhalt". Sie können entweder die in diesem Handbuch bereitgestellte Demodatenquelle (TODO) oder Ihre eigene Datenquelle verwenden. Klicken Sie im Abschnitt "Seite" auf "Basisdatenpfad". Diesmal wird das Popup etwas anders sein.
Zuerst müssen wir unsere eindeutige Kennung auswählen. Für diesen Laden wird es das ArtNum-Feld sein.

Jetzt können wir unseren "Pivot Point" anpassen. Es muss sich auf der Ebene befinden, auf der sich unsere Haupteinheiten befinden (z. B. Produkte, Mitarbeiter, Meetings usw.). In diesem Fall sind dies die Produkte, die wir in einem Array speichern. Jedes Produkt hat ein ArtNum, einen Namen, einen Preis usw. Wir müssen den Drehpunkt auf die Ebene "über" dem wiederkehrenden Teil setzen. Als Faustregel gilt: Wenn wir ein Array der Dinge haben, die wir anzeigen möchten, befindet sich der "Pivot-Punkt" auf der Ebene des Arrays.

Fügen Sie ein "Text"-Widget hinzu und öffnen Sie das Popup-Fenster "Datenquelle binden". Der Pfadauswahlblock wird zur Hälfte gefüllt. Wenn wir dieses Widget an eine andere Datenquelle (oder einen anderen Teil derselben Datenquelle) binden müssen, deaktivieren Sie "Abhängig vom Basisdatenpfad ". In jedem anderen Fall wird empfohlen, Ihre Widgets abhängig zu halten.

Wählen Sie ein Feld aus, das im Widget "Text" angezeigt werden soll.

Probieren Sie es aus
Öffnen Sie die Vorschau des Inhalts in Ihrem Browser oder senden Sie ihn an einen Media Player. Ändern Sie etwas in Ihrer Datenquelle, das derzeit auf dem Bildschirm sichtbar ist. Wenn wir den Preis von Latte von 350 auf 385 ändern, wird die Datenquelle beim nächsten Aktualisieren automatisch auch in Ihrem Inhalt aktualisiert. Dieses nächste Mal hängt von der Aktualisierungszeit ab, die im Menü "Einstellungen" eingestellt ist. Sie können auch auf die Schaltfläche "Aktualisieren" neben Ihrer Datenquelle auf "Einstellungen" klicken. Dieser Ansatz kann nützlich sein, wenn sich Ihre Daten selten ändern, Sie jedoch möchten, dass die Änderungen schnell angewendet werden. (Z.B. Wochenmenü in einem Restaurant.)

Abhängig von der Basis
Wenn Sie diese Anleitung befolgt haben, haben Sie immer zuerst Ihren "Basisdatenpfad" eingerichtet und alle Ihre gebundenen Widgets haben automatisch "Abhängig von der Basis" aktiviert. Dies wird normalerweise empfohlen, dies so zu halten. Falls Sie ein Widget an eine andere Datenquelle (oder einen anderen Teil derselben Datenquelle) binden müssen, deaktivieren Sie "Abhängig vom Basisdatenpfad". Sie können alle Ihre berechtigten Widgets später immer noch massenhaft verbinden, wenn Sie das Fenster "Basisdatenpfad" öffnen. Sie können auch von jedem Datenbindungsfenster aus darauf zugreifen.


Nachdem Sie auf die Schaltfläche "Jetzt verbinden" geklickt haben, wird eine neue Statusmeldung angezeigt.

"Basisdatenpfad" erleichtert das schnelle Binden mehrerer Widgets an ähnliche Datenpfade. Es ermöglicht auch, einen Inhalt zwischen verschiedenen Servern zu exportieren / importieren. Fügen Sie nach dem Importieren des Inhalts die Datenquelle auf der Seite "Einstellungen" hinzu und legen Sie diese dann als "Basisdatenpfad" fest. Es kann auch hilfreich sein, wenn Sie die Außenstruktur Ihrer Datenquelle ändern müssen, aber die Teile auf der Ebene und unter dem "Pivot-Punkt" bleiben gleich. Ändern Sie einfach Ihre Datenquelle und passen Sie den "Basisdatenpfad" an, alle abhängigen Widgets verwenden automatisch die neue Basis.
Änderung basierend auf Datenzeile
"Depends on base" ist auch Voraussetzung für den "C-Hange... basierend auf der Datenzeile". Aktivieren Sie "Datenzeile basierend auf Datenzeile ändern, die an den Bildschirm oder das Inhalts-Widget gebunden ist", und legen Sie außerdem alle Ihre Widgets auf abhängig fest.

Optionaler Schritt: Wenn Sie Ihre Inhalte auf Ihrem Computer testen möchten, bevor Sie sie an einen Media Player senden, können Sie dies tun. Öffnen Sie die Inhaltsvorschau in Ihrem Browser (empfohlen: Google Chrome). Öffnen Sie die Development Tools Console (drücken Sie F12), suchen Sie die Registerkarte Konsole und geben Sie document.cookie = "dataRowId=MY_UNIQUE_ID" ein. Ersetzen Sie MY_UNIQUE_ID durch den Wert eines anderen Felds in der Basisspalte. In diesem Beispiel würde das ArtNum eines anderen Produkts funktionieren. Aktualisieren Sie den Browser.
Datenzeile binden
Nachdem Ihr Inhalt "Ändern basierend auf..." und einige abhängige Widgets erhalten hat, kann er mehreren Bildschirmen zugewiesen und für die digitale Kennzeichnung verwendet werden. Navigieren Sie zum Menü "Start" und weisen Sie Ihre Inhalte einigen Bildschirmen zu, indem Sie sie entweder auf verschiedene Bildschirme, eine Bildschirmgruppe ziehen oder das Kontextmenü auf Bildschirmen verwenden.

Wenn ein Bildschirm mit einer "B-Ound-Datenzeile " beginnt, einen Inhalt abzuspielen, wird versucht, die angegebene "D ata-Zeilenbeschriftung" zu finden, indem er den "B-ase-Datenpfad " verwendet. Nennen wir alles über dem "P ivot point" die "base" und alles unterhalb des "Pivot point" die "label position".
Die Software prüft jeden möglichen Pfad, der "Basis" + ein möglicher Drehpunkt + "Beschriftungsposition" ist.
Wenn wir beispielsweise Produkte/Produkt/1/Name als "Basispfad" und 3 Produkte (1,2,3) in unserer Datenquelle haben, werden die folgenden Felder überprüft:
Produkte/Produkt/1/Name, Produkte/Produkt/2/Name, Produkte/Produkt/3/Name
Wenn eines davon gleich der angegebenen "Datenzeile" ist (bleiben wir, es war "Big TV" und es entspricht in diesem Fall Products/Product/2/Name), wird für jedes der abhängigen Widgets der "Pivot-Punkt" geändert (in diesem Fall in 2).

Das bedeutet, dass Sie einen Inhalt für alle Ihre Produkte erstellen und an verschiedene Bildschirme senden können. Binden Sie ihre eindeutige Kennung an jeden einzelnen Bildschirm und sie zeigen die Daten der verschiedenen Produkte an.
Binden der Datenquelle
Wie bei "Bind data row" können Sie auf diese Funktion im Menü "Home" zugreifen, indem Sie mit der rechten Maustaste auf einen Bildschirm klicken. In diesem Fall funktioniert es auch bei Bildschirmgruppen.
Damit dies funktioniert, müssen die ursprüngliche Basisdatenquelle und die alternative Datenquelle die gleiche Struktur haben. Sie können verschiedene Daten haben, die mit denselben eindeutigen Identifikatoren oder sogar verschiedenen eindeutigen Identifikatoren verbunden sind, solange ihre Struktur gleich bleibt. (Stellen Sie sich vor, Sie haben zwei Tabellen mit den gleichen Überschriften, aber unterschiedlichen Datenzeilen.)
"Datenquelle binden" und "B-ind-Datenzeile" zusammenarbeiten können, wird die "D-ata-Zeile" in der neuen Datenquelle gesucht.
Datenzeile mit Inhalts-Widgets
Sie können die "Data-Zeile" auch ändern, indem Sie ein Widget "Inhalt" oder "Inhalt" verwenden.

Nach der Auswahl eines Inhalts mit einem "Basisdatenpfad" wird ein Selektor für die "Datenzeile" angezeigt. Wenn für den Zielinhalt "Ändern basierend auf..." eingerichtet ist, wird das aktuell ausgewählte Label (B1 in der folgenden Abbildung) verwendet. Ist dies nicht der Fall, wird der ausgewählte Index (in diesem Fall 2) verwendet.

Für das Widget "Inhalt" muss "Verschiedene Datenzeilen" aktiviert werden. Die Selektoren "Datenzeile" werden für alle Inhalte mit einem "B-ase-Datenpfad" angezeigt.

Plan B
Sie können für die meisten Elemente einen Fallbackwert angeben. Der Typ hängt vom Widget ab.


Wenn der Wert im gebundenen Feld null, leere Zeichenfolge (""), 0, false oder undefined ist, wird stattdessen der Fallbackwert verwendet.
Einige/alle gebundenen Elemente bedingt ausblenden
Sie können jedes Element ausblenden, wenn ein ausgewähltes Feld leer ist (null, leere Zeichenfolge, 0, false oder undefined), indem Sie die Schaltfläche "Basierend auf ausblenden" verwenden. Es kann irgendwo auf der Registerkarte "Andere" aller Widgets gefunden werden, aber einige Widgets haben es in den "Mehr ..." Optionen am unteren Rand der Registerkarte "Andere".


Die Hauptverwendung dieser Funktion besteht darin, unnötige Etiketten auszublenden, wenn ihre jeweiligen Daten nicht verfügbar sind. Zum Beispiel sollte das Originalpreisschild ausgeblendet werden, wenn das Produkt keinen Originalpreis hat.
Trinkgeld: Ein schöner Effekt kann erreicht werden, indem zwei Kopien desselben Bildes übereinander liegen. Der folgende sollte seine Deckkraft nach unten oder Graustufen nach oben gedreht haben. Der obige sollte "Hide based on" haben. Wenn das ausgewählte Feld einen nicht leeren Wert hat, wird das bunte Bild angezeigt. Wenn nicht, wird stattdessen das untenstehende, abgestimmte Bild angezeigt. Funktioniert gut mit digitaler Etikettierung zur Präsentation verfügbarer Funktionen.
Wenn Sie "Bound data row" verwenden, besteht eine hohe Wahrscheinlichkeit, dass Sie nicht möchten, dass Ihre Bildschirme seltsame Daten anzeigen, wenn die "Bound row" aus irgendeinem Grund nicht gefunden werden kann. Es wird empfohlen, "Abhängige Elemente ausblenden, wenn der Bildschirm keine GÜLTIGE Datenzeile gebunden hat" zu aktivieren. Option im "Basisdatenpfad" vor der Live-Nutzung des Inhalts mit "Änderung basierend auf..." angedreht.

Andere bindbare Widgets
Viele andere Elemente können ebenfalls an Daten gebunden werden. Sie alle arbeiten auch mit "Bind data row" und "Bind data source" und können daher sowohl in normalen als auch in digitalen Labeling-Inhalten verwendet werden.
Dies sind die Widgets, die Daten als Quelle verwenden können: "Text", "Bild", "Scrollen", "Galerie", "Karussell", "Video", "QR-Code", "Cooler Text", "Stücke".
Charts
Wenn Sie über Daten verfügen, die durch ein Diagramm dargestellt werden können, können Sie aus diesen Typen auswählen. Im Moment können sie nur einen Datensatz pro Widget anzeigen. Später in der Zukunft wird es möglich sein, mehrere Linien in einem "Linie" -Widget anzuzeigen oder ein aggregiertes "Spalten" -Diagramm usw. hinzuzufügen.
Messgerät und Messgerät werden verwendet, um einzelne numerische Daten anzuzeigen. Andere zeigen ein Dataset an.

Neben dem "Pivot point" muss auch ein "Chart level" ausgewählt werden. Dies kann gleich oder anders als der "Pivot Punkt" sein. In beiden Fällen wird das Feld "Als Beschriftung zu verwendende Spalte" verfügbar. Eine Vorschau der ausgewählten Daten wird ebenfalls angezeigt.



Tisch
"Tabellen"-Widgets funktionieren ähnlich wie Diagramm-Widgets. Sie müssen die "Tabellenebene" neben dem "Pivot-Punkt" auswählen. Es kann gleich oder anders sein.

Mögliche Spalten werden unten angezeigt. Aktivieren Sie das Kontrollkästchen "Sichtbar", um festzulegen, welche Spalten angezeigt werden.

Der Typ kann "Text" oder "Bild" sein. Seit 1.5 sind auch die Typen "Checkbox" und "Radiobutton" verfügbar.
"Breite" ist ein Verhältnis; Alle Breitenwerte der ausgewählten Spalten werden addiert und die Breite des Widgets "Tabelle" wird entsprechend zwischen ihnen aufgeteilt. Wenn beispielsweise alle bis auf eine Spalte eine "Breite" von 5 und eine Spalte 10 hat, haben die mit 5 immer die gleiche Breite und die einzelne Spalte mit 10 ist doppelt so hoch.
Trinkgeld: Wenn sich die für sichtbare Spalten angegebenen Zahlen zu 100 addieren, funktionieren sie nur als Prozentsätze. Wenn sie die Breite des Widgets in Pixeln addieren, funktionieren sie genau wie Pixel. Wenn Sie nur Spalten mit der gleichen Breite benötigen, setzen Sie einfach jede auf die gleiche Zahl (z. B. 10).
Wenn eine mögliche Spalte zusammengesetzte Daten in der oben ausgewählten Instanz enthält (auf der "Tabellenebene", in diesem Fall 0), wird durch Aktivieren der Spalte "Sichtbar" ihre untergeordneten Elemente als mögliche Spalten verfügbar gemacht.

Mit einem Klick auf den kleinen Pfeil erscheinen zusätzliche Optionen. Beispiel: "Fallback"-Wert.


Es ist möglich, nur einige der Zeilen anzuzeigen. Aktivieren Sie die Option "Zeilen begrenzen", um die Details anzuzeigen.

Sie können auch "Optionen für nicht sichtbare Zeilen ausblenden" verwenden, nachdem Sie alle benötigten Spalten in "Sichtbar" geändert haben.

Beachten Sie, dass es möglich ist, Tabellen anzuzeigen, die sich basierend auf der gebundenen Datenzeile ändern, wenn sich der "Pivot-Punkt" und die "Tabellenebene" auf unterschiedlichen Ebenen befinden. Es kann nützlich sein, wenn Ihre Produkte beispielsweise über eine Reihe anderer Daten verfügen, z. B. zusätzliche Funktionen.
Wenn sie sich auf der gleichen Ebene befinden, ändern sich die angezeigten Daten nicht mit den Datenzeilen. In Kombination mit "Änderung basierend auf..." kann dieser Ansatz immer noch nützlich sein, um eine Liste von beispielsweise allen verfügbaren Produkten anzuzeigen.
Neue Funktionen in 1.6
Schriftart und Hintergrundfarbe basierend auf Datenquelle Seit v1.6
Normale Widgets
Auf der Registerkarte "Andere" (für einige Widgets im Abschnitt "Mehr") finden Sie "Data pickers" für "Schriftfarbe" und "Hintergrundfarbe".
Tipp: Sie können auch die "Hintergrundfarbdatenauswahl" für jedes Widget öffnen, indem Sie Umschalt + Strg gedrückt halten und darauf doppelklicken.

Ein "C olor data picker" hat die gleichen "Path"-Auswahlmöglichkeiten wie jeder andere "Data picker". Am unteren Rand des Fensters können Sie auswählen, wie die Daten in Farbe umgewandelt werden.

Der Standardwert ist "A s is", was nützlich ist, wenn Ihr Datenfeld bereits einen gültigen Farbcode oder Farbnamen enthält, z. B. "#00ff00", "rgb(255,0,0)", "rgba(0,0,255,0.5)", "orange" usw.

"Anhängen" kann verwendet werden, wenn Ihr Datenfeld fast einen gültigen Farbcode enthält. Wenn Ihre Daten "FF0000" sind, können Sie den Wert "Before" auf "#" setzen, um "#FF0000" zu erreichen. Oder wenn Ihr Datenfeld "255,0,0" hat und Sie die Farbe halbwegs durchsichtig benötigen, können Sie "Vorher" auf "rgba(" und "Nachher" auf ",0,5)" setzen, um "rgba(255,0,0,0.5)" zu erreichen.


"Regeln" gelten für jedes andere Szenario.
Nach dem Drücken der Schaltfläche "Regel hinzufügen" erscheint eine neue Zeile in der Tabelle von "Rules".

Ähnlich wie bei "Datenquellenereignissen" können Sie einen "E-Bewertungstyp" und einen Wert auswählen, anhand dessen Ihre Daten ausgewertet werden sollen. Wenn eine "Regel" als wahr ausgewertet wird, wird die ausgewählte Farbe je nach "D ata-Auswahl" entweder als Hintergrund- oder Schriftfarbe festgelegt. Nachdem eine Übereinstimmung gefunden wurde, werden die anderen "Regeln" ignoriert.

Wenn Sie die gleichen Farbregeln über mehrere Widgets hinweg wiederverwenden möchten, können Sie sie als "Voreinstellung" speichern. Geben Sie ihm einen Namen und drücken Sie dann auf das Symbol zum Speichern.

Von nun an können Sie in diesem "Inhalt" diese Voreinstellung für jeden "Color data picker" verwenden.

Wenn Sie auch "Voreinstellung so verwenden, wie sie ist" aktivieren, können Sie die Regeln für dieses Widget nicht bearbeiten, aber wenn Sie diese "Voreinstellung" von einem anderen Widget überschreiben (speichern Sie einfach mit demselben Namen), werden alle "Preset verwenden, wie sie ist" -Widgets folgen.
Tipp: Wenn Sie dieselbe Voreinstellung für verschiedene Inhalte verwenden müssen, "Kopieren" (Strg + C) und "Einfügen" (Strg + v) ein Widget aus einem Inhalt mit einem Farbregelsatz und "Als Vorgabe speichern" aus dem "Farbdatenwähler" des eingefügten Widgets.
Tabellen-Widget
Sie können auch den Hintergrund und die Schriftfarbe von "Table"-Zellen und den Hintergrund von Tabellenzeilen festlegen. Öffnen Sie das normale "D ata picker" -Fenster eines "Table" -Widgets und schauen Sie sich den unteren Teil davon an.

Sie können den kleinen Pfeil um die obere linke Ecke des unteren Teils verwenden, um den oberen Teil des Fensters zu reduzieren. Sie können auch die Farbauswahloptionen reduzieren, was nützlich ist, wenn Sie viele "Regeln" haben.

Sie sehen die Zeilenhintergrundoptionen über den auswählbaren "Spalten". Wenn Sie die Optionen für eine Spalte mit dem Pfeil in der linken Ecke öffnen, sehen Sie die zellenweiten Farboptionen.

Wenn Sie die "Dynamische Hintergrundfarbe" (oder "Dynamische Schriftfarbe") aktivieren , werden alle Optionen angezeigt. Wenn Sie das Feld "Wert einer anderen Zelle verwenden" leer lassen, wird der Wert der aktuellen Zelle verwendet. Wenn Sie eine andere Spalte auswählen, wird die Farbe basierend auf dem Wert in dieser Spalte bestimmt. Sie können "Presets" auf die gleiche Weise wie bei normalen Widgets verwenden.
Dynamische Paginierung für Tabellen-Widgets seit v1.6
Öffnen Sie den normalen "Data picker" für ein "T able"-Widget. Zwischen "Zeilen begrenzen" und "Hintergrundfarbe der Zeile" wird "Automatische Paginierung" angezeigt.

Wenn Sie es aktivieren, können Sie alle seine Eigenschaften festlegen. "Seitengröße" bestimmt, wie viele Zeilen gleichzeitig angezeigt werden, "Verzögerung" ist die Zeit zwischen Seitenwechseln in Sekunden. "Paginierungsinformationen anzeigen" zeigt einen Indikator an, der die aktuelle Seite / Gesamtseite am unteren Rand der Tabelle anzeigt (verwendet die gleichen Formatierungsoptionen wie die Kopfzeile). "Fade-Animation" aktiviert eine 2 Sekunden lange Animation zwischen den Tabellenseiten.

Popups mit Datenzeile seit v1.6


Für die Widgets "Text", "Bild" und "Form" gibt es auf der Eigenschaftenregisterkarte "Andere" einen Block "Springen". Wenn Sie als "Klicktyp" "Popup" wählen, sind die verfügbaren Ziele alle "Seiten" in der aktuellen "C-Priorität". Wenn Ihr aktueller "Inhalt" "Base Data Binding" eingerichtet hat, erscheint der Selektor "Datenzeile".
Es funktioniert ähnlich wie bei "Content" -Widgets: Wenn das Ziel "Content" (in diesem Fall der aktuelle "Content") "Change based on..." in "Base data binding" aktiviert hat, wählt es das Datenfeld basierend auf dem "Label" aus, in diesem Beispiel "Cherry". Wenn es deaktiviert ist, wird es alternativ basierend auf dem Index ausgewählt, in diesem Beispiel 3. Wenn es eine Google-Tabelle wäre, wäre dies der 3. Eintrag.
Verbesserungen des Inhalts-Widgets
Wenn Sie die Eigenschaft "Eine Seite" für das Widget "Inhalt" aktivieren, wird auch eine Seitenauswahl angezeigt. Nur diese eine Seite wird in diesem Widget angezeigt. Ohne Folienmaster oder Overlay-Seite, ohne Seitenwechsel usw. Auf der anderen Seite wird es schneller geladen als die normalen "Content" -Widgets.
Sie können weiterhin eine andere Datenzeile auswählen, wenn Ihr Zielinhalt über eine Datenbindung verfügt. Sie können auch ein "Button-Gruppenpräfix" hinzufügen. Lesen Sie mehr darüber im Artikel Interaktive Widgets.

<iframe width="560" height="315" src="https://www.youtube.com/embed/C86wZzv0t4c" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
Ereignisse der Datenquelle
Ereignisse der Datenquelle
Datenquellenereignisse
Datenquellenereignisse treten auf, wenn sich ein Feld in einer Datenquelle ändert. Eine Eingabeaktion wird nur ausgeführt, wenn die Bedingung erfüllt ist, und wird nicht wiederholt ausgeführt, wenn sich der Wert ändert, sondern erfüllt bleibt.
Inhaltsweite Aktionen
"Datenquellenereignisaktionen", ähnlich wie "Sensorereignisaktionen", haben eine Bedingung und eine Aktion.

Zuerst müssen Sie das Datenfeld auswählen, das überprüft werden soll.

Wählen Sie dann einen Auswertungstyp aus. Wenn ein anderer Operand zur Auswertung benötigt wird, wird ein Eingabefeld angezeigt. Sie können beispielsweise überprüfen, ob Ihre Daten gleich eins oder größer als 3 sind. Sie können auch überprüfen, ob es leer ist oder nicht.


Der reguläre Ausdruck kann auch als Auswertungstyp gewählt werden. In diesem Fall wird überprüft, ob der Wert im Datenfeld diesem Muster entspricht.
Die verfügbaren Aktionen ähneln denen für "Sensorereignisse".

"Jump to" erfordert eine Ziel-"Seite" aus demselben "Inhalt".

"API aufrufen" sendet eine POST-Anfrage an die angegebene API.

"Statisches Sensorereignis" sendet den angegebenen Text als "Ausgabesensorereignis".

"Dynamisches Sensorereignis" sendet den aktuellen Wert des Felds als "Ausgabesensorereignis".
"Ignorieren" wird nichts bewirken. Es ist da, um in Kombination mit "Final" verwendet zu werden, um zu verhindern, dass in bestimmten Fällen Aktionen stattfinden.
Seitenweite Aktionen
Seitenweite Aktionen funktionieren genauso wie "Sensorseitenweite Aktionen", aber Sie können nur "Interact widget" auswählen und nur ein begrenzter Pool von Widget-Typen ist verfügbar. Dies sind "Checkbox", "Radiobutton" und "Benutzereingabe".

Navigation
Funktioniert genauso wie Sensorereignisse.
Widget-Interaktion
Funktioniert genauso wie Sensorereignisse.
Benehmen
Finale
Funktioniert genauso wie Sensorereignisse.
Unterschiedliche Wiedergabeliste basierend auf Datenbeispiel
Während das Abspielen verschiedener Wiedergabelisten basierend auf externen Ereignissen mit "Sensorereignissen" genauso gut wie mit "Datenquellenereignissen" erreicht werden kann, ist das Erstellen auf der Grundlage von Datenquellenfeldern einfacher.
Dazu müssen Sie "Zielseiten" in Ihren Inhalten haben und diese müssen "Nächste Seite" so einrichten, dass eine der nächsten Seiten die "Zielseite" als "Nächste Seite" hat. Es kann eine beliebige Anzahl von Seiten in den Unter-Wiedergabelisten geben.
Nehmen wir als Beispiel an, wir haben ein Feld, das die Jahreszeit angibt. Wir können unsere "Content wide data source event actions" so einrichten, dass sie zur richtigen Zielseite springen. (Wir könnten jeden Wert im Feld haben, nicht nur Zahlen.)

Auf unserer "Frühjahrsseite" ist die "Nächste Seite" auf eine andere Frühlingsseite im linken Menü ('Frühlingserdbeere') eingestellt.

Dann hat die Seite "Frühlingserdbeere" "Frühlingskirsche" als "Nächste Seite"

Dann hat "Frühlingskirsche" unsere ursprüngliche Landung, "Sprint" als "Nächste Seite".

Wenn sich unser Saisonindikatorfeld auf 1 ändert, springt der "Inhalt" auf "Sprint". Dann, nach 25 Sekunden, springt es zu seiner "nächsten Seite", "Frühlingserdbeere". Nach 8 Sekunden springt es zu "Frühlingskirsche", dann 8 weitere Sekunden später, zurück zu "Frühling" und wiederholt diesen Zyklus, bis sich das Saisonindikatorfeld in etwas ändert, für das wir einen anderen Sprung zur Aktion eingerichtet haben (z. B. 2, 3, 4).
Wir benötigen auch ähnliche nächste Seiten für unsere anderen Landingpages, auf denen die "Nächsten Seiten" korrekt eingerichtet sind.

In unserem Beispiel für saisonale Früchte können wir "Seitenweite" Aktionen einrichten, um "Checkbox" -Widgets basierend auf einem Feld in unserer Datenquelle zu aktivieren und zu deaktivieren. Nehmen wir an, wir behalten unseren Bestand im Auge und wenn er unter 20 liegt, möchten wir das Bild der Frucht in Graustufen statt in Farbe zeigen. Wir richten zwei Zeilen für dasselbe Feld ein, eine mit "ist größer als" '20', die andere mit "ist kleiner als oder gleich" '20', zielen auf das gleiche "Optionsfeld" ab, und eine von ihnen ist auf "Check" eingestellt, die andere auf "Uncheck".

Das "Optionsfeld" "Banane" kann die gleichen Bilder wie "Checked src" und "Unchecked src" haben und auch die Option "Grayscale" aktivieren.


Überspringen von Seiten in der Wiedergabeliste mit Datenquellenereignissen seit v1.6
Wenn Sie eine Wiedergabeliste in einem Inhalt mit mehreren Seiten haben, aber einige von ihnen übersprungen werden sollten, wenn eine Bedingung erfüllt ist, können Sie dies mit Hilfe von Datenquellenereignissen erreichen.
Richten Sie Ihre Inhalte wie gewohnt ein, indem Sie den Wiedergabelisten-Editor verwenden oder die nächste Seite für jede Seite in der Wiedergabeliste manuell einrichten. Öffnen Sie dann das Menü "Datenquellenereignisse" und wählen Sie die Registerkarte "Seitenweite Ereignisse".
Wählen Sie im Kontrollkästchen die Seite aus, die übersprungen werden soll, fügen Sie dann der Tabelle der Aktionen eine neue Zeile hinzu, und wählen Sie das Datenfeld und die Auswertung aus. Wählen Sie als Aktionstyp "Springen zu" und als "Ziel" die übliche nächste Seite dieser Seite.
Datenquellen-Mapper
Datenquellen-Mapper
Datenquellen-Mapper
Verfügbar ab Wallboard Editor Version 1.10. Dies macht es einfach, die Daten selbst innerhalb einer beliebigen Datenquelle zu bearbeiten, bevor sie zu den Widgets gehen.
Wo zu bearbeiten:
Sie finden es im Inhaltseditor > Registerkarte Inhalt > Abschnitt Datenbindung > Bearbeiten von Datenquellenzuordnungen

Nachdem Sie auf die blaue Schaltfläche geklickt haben, können Sie Ihre Mapper bearbeiten

Es gibt eine Option, die Sie in Ihrem Mapper ändern können.
Wenn Sie einen neuen Mapper hinzufügen, können Sie aus einer vordefinierten Einstellung auswählen oder eine eigene erstellen. Diese Voreinstellungen werden für die Kalenderdatenquelle erstellt.
Optionen für den Rechner:
- Benutzerdefiniert – Sie können Ihre Datenquellendaten bearbeiten. WICHTIG! Dies erfordert Entwicklererfahrung!
- Aktuelle Kalenderereignisse – Geben Sie alle aktuellen Ereignisse aus der Kalenderdatenquelle zurück.
- Kalenderereignisse heute – Gibt alle Ereignisse, die heute eintreten werden, aus der Kalenderdatenquelle zurück.
- Kalender heute bevorstehende Ereignisse - Geben Sie alle Ereignisse zurück, die heute von diesem Zeitpunkt an stattfinden werden. Dies schließt Ereignisse aus, die bereits eingetreten sind, und Ereignisse, die ausgeführt werden.
- Kalenderereignisse für morgen – Geben Sie alle Ereignisse, die morgen auftreten werden, aus der Kalenderdatenquelle zurück.
- Bevorstehende Kalenderereignisse – Geben Sie alle Ereignisse zurück, die mit Ausnahme der aktuellen Ereignisse aus der Kalenderdatenquelle auftreten werden.
- Kalender voll – Geben Sie alle Ereignisse mit den zuvor definierten Kategorien zurück.
Nachdem Sie Ihre Option ausgewählt haben, müssen Sie Folgendes ausfüllen:
- Name – Sie können den Namen Ihres Mappers hinzufügen
- Quelltyp
- Basisdatenpfad – Die Datenquelle stammt aus Ihrem Basisdatenpfad
- Datenquelle – Die Datenquelle ist diejenige, die Sie ausgewählt haben.
- Quelle
- Standard – Wenn Sie den Basisdatenpfad ausgewählt haben
- "Your selected datasource" – Leer, bis Sie datasource auswählen.
- Pfad der Ausgabeeigenschaft – Sie können die Tiefe und den Pfad auswählen, in den die manipulierten Daten eingefügt werden sollen.
Außerdem können Sie die Neuberechnungsrate ein- und ausschalten. Wenn es aktiviert ist, berechnet der Inhalt Ihre Mapper regelmäßig neu. Sein Wert ist in Sekunden.
Wie Sie Ihre Tabellenkalkulation mit Wallboard verbinden
Wie Sie Ihre Tabellenkalkulation mit Wallboard verbinden
Wenn Sie Ihre Google Spreadsheet mit unserem System verbinden möchten, müssen Sie einige Schritte ausführen.
Zuerst müssen Sie Ihre Tabelle freigeben, damit sie für "Jeder mit diesem Link" zugänglich ist, wie unten gezeigt

Nach diesem Schritt müssen Sie Ihre Tabellenkalkulations-ID und Ihre GID-Nummer kopieren

und geben Sie sie in diese URL ein:
https://spreadsheets.google.com/feeds/list/ Tabellenkalkulations-ID/od6/public/values?gid=gid number
(Wenn Sie ein anderes Blatt verwenden möchten, ändert sich der Link, sodass die ID erhalten bleibt, aber die gid-Nummer ändert sich. Die gid-Nummer bezieht sich auf Ihre Blätter.)
Mit dieser URL können Sie Ihre Tabelle zu Ihren Datenquellen hinzufügen:

Klicken Sie auf "Vorhandene URL verwenden"

Füllen Sie die Felder wie folgt aus. Unter URL fügen Sie die URL ein, die oben formatiert wurde

(Wir müssen erwähnen, dass die speziellen Daten in der Tabelle (Datum, Währung) manchmal falsch auf Wallboard erscheinen. Dies kann behoben werden, wenn Sie das Textformat in "Nur-Text" ändern.)

Wenn Sie mit all diesen Schritten fertig sind, können Sie Ihre Tabellenkalkulationsdaten verwenden.
*Wenn Sie im Datenquellenmenü unter Einstellungen sehen, dass Ihre Datenquelle eine Fehleranzahl von mehr als 50 aufweist, müssen Sie sie über die Schaltfläche auf der rechten Seite zurücksetzen, damit sich der Zähler selbst zurücksetzen und mit dem Abrufen von Daten beginnen kann.
Wie sende ich n8n-Daten an das Wallboard?
Wie sende ich n8n-Daten an das Wallboard?
Sie mussten Ihren Flow richtig einrichten, wissen aber nicht, wie Sie Daten senden sollen?
In diesem Artikel zeigen wir Ihnen, wie Sie n8n-Daten mit unserem System verbinden können.
Es gibt zwei Möglichkeiten, wie Sie Ihre Daten an unser System senden können. Wir zeigen Ihnen beide.
Über Webhook:
Mit dem Webhook-Knoten können Sie die Daten Ihres letzten Knotens an unser System senden. (Dieser Knoten muss Ihr erster Knoten sein.)
Knoten:

So richten Sie es ein:

Funktion:
(Dieser Knoten muss Ihr letzter Knoten sein.)


const returnedJson = items.map((item)=>{ return item.json; }) return [{json:{data:{returnedJson}}}];
After these steps, you can insert your URL to the datasource URL field.
Your URL:

Insert URL to the URL field:


If you did all of these steps your flow is ready.
Via HTTP Request:
With the HTTP Request node, you can send your penultimate node’s data to our system.
(HTTP Request node needs to be your last node.)
Needed nodes:


How to set them up:
Function:

const returnedJson = items.map((item)=>{ return item.json; }) return [{json:{data:{returnedJson}}}];
HTTP-Anforderung:
Dazu müssen Sie einen Webhook "Interne Datenquelle festlegen" und einen API-Schlüssel erstellen.

URL: https://editor.wallboard.info/public-api/integration/webhooks
Körperparameter:

Die event_id ist Ihre Ereignis-ID "Interne Datenquelle festlegen".
Im data-Parameter müssen Sie einen Ausdruck hinzufügen:

Der Ausdruck:
{{$node["Function"].json["data"]}}
Header:

inhaltstyp: application/json
x-webhook-apikey : Ihr API-Schlüssel
Wenn Sie alle diese Schritte ausgeführt haben, ist Ihr Fluss bereit und sieht so aus:

Wenn Ihr Flow ausgelöst wird, werden Daten an Ihre Datenquelle gesendet. (Diejenige, die Sie für Ihren Webhook ausgewählt haben.)
NameDays Datenquelle
NameDays Datenquelle
Sie können den Datenquellenconnector "Name Day" verwenden, um denjenigen, deren Namenstag auf dem aktuellen Tag liegt, einen glücklichen Namentag zu wünschen.
Sie können diese Drittanbieter-API verwenden, um Daten darüber zu sammeln, welche Namenstage heute sind.
Sie müssen diesen Link verwenden, um die neueste 3.0-Version der API zu erhalten.
https://app.swaggerhub.com/apis/nekvapil/InternationalNamedayAPI/3.0.0
Auf der Website müssen Sie zwischen heute, gestern oder morgen wählen, je nachdem, was Sie anzeigen möchten. Anmerkung: Wenn Sie verschiedene Tagesnamen anzeigen möchten, müssen Sie einen weiteren Konnektor dafür erstellen.

Wenn Sie Ihre gewünschte Tageszeit auswählen, müssen Sie auf die Schaltfläche Try it out klicken

Sie müssen wählen:
Das Land – um Namen in der Landessprache anzuzeigen (z. B. für englische Namenstage, müssen Sie die USA auswählen)
Die Zeitzone – um die Namen korrekt anzuzeigen (zum Beispiel wünschen Sie sich die englische Version des Namens Tage in Prag)
Nachdem Sie diese Parameter ausgewählt haben, müssen Sie auf die Schaltfläche Ausführen klicken

Wenn der Build abgeschlossen ist, können Sie den Link von der Anforderungs-URL kopieren

Sie müssen die URL der API zu einer Datenquelle wie der folgenden hinzufügen:
Im Editor müssen Sie auf das Bedienfeld Einstellungen klicken

Choose the Datasource option.

Sie müssen auf die Schaltfläche Neu hinzufügen klicken Vorhandene URL verwenden

Nachdem Sie darauf geklickt haben, müssen Sie die Panels ausfüllen:
Name – Benennen Sie Ihre Datenquelle.
URL – fügen Sie den Link ein, den Sie von einer anderen Website kopiert haben,
Typ – Sie müssen dafür die JSON-Option auswählen
Aktualisieren – der Standardwert ist 300, aber Sie können jede gewünschte Aktualisierungszeit festlegen.

Wenn Sie fertig sind, klicken Sie bitte auf das Symbol zum Speichern, um Ihre Änderungen zu speichern.
Anschließend können Sie diese Datenquelle verwenden, um Namenstage anzuzeigen.

Sie können auch beliebige andere APIs verwenden.
Anwendungsfall: Komplexe Datenintegration Geburtstagsbeispiel
Anwendungsfall: Komplexe Datenintegration Geburtstagsbeispiel
Szenario:
Sie möchten sich die bevorstehenden Geburtstage Ihrer Mitarbeiter anzeigen lassen. Sie möchten ihre Namen, Geburtsdaten, Bilder und einige personalisierte Nachrichten hinzufügen.
Lösung:
1. Erstellen Sie zunächst Ihre Google-Tabelle mit den folgenden Spalten und füllen Sie die Tabelle mit einigen Beispieldaten aus
| Geburtsdatum | Name | Bild | Alter | Nachricht |
| 09.18 |
Faith Edmundsss |
https://img3.stockfresh.com/files/k/kurhan/m/91/390405_stock-photo-happy-woman.jpg |
(22) |
Glaube! Gott segne dich! |
| 10.09 |
Viktor Smith |
https://thumb9.shutterstock.com/display_pic_with_logo/818215/558986872/stock-photo-single-handsome-muscular-black-man-with-shaved-head-folded-arms-and-cheerful-expression-558986872.jpg |
(23) |
Vick! Gott segne dich! |
Beispiel: hier.
2. Erstellen Sie ein Google Script für die Verarbeitung der Tabelle und erstellen Sie einen Auslöser, der das Skript jeden Tag um 2 Uhr morgens automatisch ausführt

function myFunction() {
ss = SpreadsheetApp.getActiveSpreadsheet();
sheet = ss.getSheetByName("Sheet1");
var d = new Date();
var month = '0' + (d.getMonth()+1);
var day = d.getDate();
var range = sheet.getRange("A2");
var value = range.getValue();
var cellMonth = value.substring(0,2);
var cellDay = value.substring(3,5);
if (cellMonth == month && cellDay < day){
sheet.deleteRow(2);
}
}
Hier finden Sie eine Dokumentation zu GoogleScript.
3. Veröffentlichen Sie Ihre Tabelle im Web und fügen Sie sie als Datenquelle in unser System ein
Weitere Informationen zu diesen Schritten finden Sie hier.
4. Erstellen Sie einen neuen Inhalt und verwenden Sie die Datenquellenelemente, um den Inhalt nach Ihren Wünschen zu erstellen, der Ihre Daten anzeigt
-
Sie können das image-Element verwenden, um Bilder aus Ihrer Datenquelle anzuzeigen
-
Sie können das text-Element verwenden, um Texte aus Ihrer Datenquelle anzuzeigen
Bei beiden Elementen müssen Sie die Datapicker-Funktion verwenden, um die Zeile und Spalte aus Ihrer Datenquelle auszuwählen

Sie können hier einen Beispielinhalt herunterladen und importieren.
5. Testen Sie Ihre Inhalte und füllen Sie sie mit tatsächlichen Informationen und Daten, bevor Sie sie in einer Live-Umgebung verwenden

6. Pflegen Sie Ihre Tabelle täglich und füllen Sie sie mit den bevorstehenden Geburtsdaten
Anwendungsfall: Interne Datenquellenänderung über Webhook-Ereignis
Anwendungsfall: Interne Datenquellenänderung über Webhook-Ereignis
Hinzufügen der Datenquelle
Gehen Sie zu Einstellungen/Datenquellen/Interne Datenquellen und klicken Sie auf "Neu hinzufügen".

Geben Sie ihm einen Namen und kopieren Sie Ihre Daten im JSON-Format. Lassen Sie den Strukturtyp "Benutzerdefiniert".
Wenn Sie Ihre Daten in einem anderen Format haben (z. XML), Sie können einen Online-Konverter verwenden.
Überprüfen Sie, ob Ihre Daten gespeichert sind, indem Sie auf die Schaltfläche Vorschau klicken.

Erstellen des Webhooks
Gehen Sie zu Einstellungen/Webhooks/Webhook-Aktionen. Sie benötigen einen Webhook-API-Schlüssel, der bereits eingerichtet ist. Wenn Sie weitere Hilfe benötigen, lesen Sie mehr darüber im Webhooks-Artikel.
Klicken Sie auf "Neu hinzufügen". Geben Sie den Namen und die Ereignis-ID ein.
Wählen Sie "Interne Datenquelle festlegen" als Aktionstyp aus, belassen Sie den Zieltyp bei "Datenquelle " und beginnen Sie mit der Eingabe der Datenquelle Namen in "Ziel" und wählen Sie es aus, wenn es angeboten wird. Speichern Sie es.

Jetzt können wir den Webhook testen. Klicken Sie auf die Schaltfläche "Beispiellink generieren ".


Ändern Sie den JSON-Code in einen anderen und drücken Sie die Schaltfläche Test. Gehen Sie zurück zu Einstellungen/Datenquellen/Interne Datenquellen und überprüfen Sie dies mit der Schaltfläche "Vorschau", um dies zu überprüfen.

Jetzt können wir es entweder von hier aus mit der Schaltfläche "JSON bearbeiten" oder über den Webhook wieder in unsere ursprünglichen Daten ändern.
Verbinden des Inhalts mit der Datenquelle
Erstellen Sie einen neuen Inhalt. Fügen Sie einige Widgets hinzu, in diesem Beispiel verwenden wir zwei Text-Widgets. Klicken Sie auf die Schaltfläche An Daten binden auf der Registerkarte Andere des Widgets oder klicken Sie einfach Umschalt+Doppelklick auf das Widget.

Wählen Sie den Pfad zu einigen Daten aus.

Machen Sie dasselbe für die anderen Widgets und wählen Sie Pfade aus zu verschiedenen Datenfeldern.

Sie können alles verwenden, was für externe Datenquellen verfügbar ist (abhängig von Basis, Datenzeile, Datenquellenereignissen usw.). Es gibt keinen Unterschied aus der Sicht des Inhalts n, weder im Editor nnoch in der Vorschau / auf dem Gerät.
Test
Speichern und umdie Inhaltsvorschau anzuzeigen oder eine Verbindung zu einem Gerät herzustellen.

Gehen Sie zurück zu Einstellungen/Webhooks/Webhook-Aktionen, suchen Sie den Test-Webhook, den wir zuvor eingerichtet haben, und klicken Sie erneut auf "Beispiellink generieren". Kopieren Sie ein modifiziertes JSON hierher. Stellen Sie sicher, dass einige der Felder, mit denen Ihre Widgets verbunden sind, geändert werden.

Klicken Sie auf "Test". Wenn möglich, lassen Sie die Vorschau oder das Gerät sichtbar sein, damit Sie sehen können , wie schnell der Inhalt reagiert.
Verwendung
Klicken Sie nun auf den Link In Zwischenablage kopieren, um eine testbare URL mit den aktuellen Testdaten zu erhalten.
Lesen Sie mehr im Webhooks-Artikel. Die Creation dieser URL ähnelt dem Sensorbeispiel, aber Sie benötigen ein Feld "data" (anstelle von "sensor_data") neben dem Feld "event_id". Sein Wert sind die neuen Daten in JSON. Alles andere ist das gleiche wie im Sensorereignisbeispiel.
Anwendungsfall: Einfache Geburtstagsdatenquelle Beispiel 1
Anwendungsfall: Einfache Geburtstagsdatenquelle Beispiel 1
Erstellen einer JSON-Datei
Dies ist ein Beispiel, wie Ihre JSON-Datei aussehen sollte:

Ihre IDs sind die Geburtsdaten. In den "gefeierten" Arrays müssen Sie die berühmten Personen (in diesem Fall ihren Namen und den Bildnamen, den Sie später zeigen möchten) eingeben, deren Geburtstag an diesem Tag ist. In diesem Beispiel gibt es 4 Personen:
- am 13. Mai feiern Jane und John ihren Geburtstag
- am 4. Juli feiern Judith und Greg ihren Geburtstag
Nachdem Sie fertig sind, müssen Sie dieses JSON mit unserem System verbinden. Sie können dies im Menü Administrator/Datenquellen oder Einstellungen/Datenquellen tun. Vergessen Sie nicht, es auf JSON-Typ zu setzen.

Erstellen des Inhalts
Zunächst müssen Sie Bilder hochladen. Bitte beachten Sie, dass Sie sie genauso benennen müssen, wie Sie sie im JSON geschrieben haben.

Erstellen Sie einen neuen Inhalt. Sie müssen einen Basisdatenpfad festlegen. Sie können dies im Datenpfad Content/Databinding/Base tun.

Wählen Sie Ihr JSON aus und setzen Sie die Basisbindung auf "id". Meins sieht so aus, wenn Sie den Anweisungen gefolgt sind, sollten Ihre auch so aussehen. Setzen Sie den Drehpunkt (den blauen Punkt) auf die "0".

Sie müssen auch die Schaltfläche "Datenzeile basierend auf Datenzeile ändern, die an den Bildschirm oder das Inhalts-Widget gebunden ist" festlegen.

Speichern Sie es, und schließen Sie dann dieses Fenster. Sie benötigen ein Bildergalerieelement (optional auch ein Textelement, wenn Sie das Datum anzeigen möchten).
Klicken Sie auf das Galerie-Widget und navigieren Sie zur Schaltfläche Widget/Andere/Daten/An Daten binden.

Sie müssen es so einstellen. Außerdem müssen Sie dieses kreisdiagrammartige Symbol auf die zweite "0" setzen.

Wenn Sie die Namen der Personen als Bildunterschrift in den Bildern anzeigen möchten, müssen Sie hier die Spalte "Name" einfügen:

Sie haben keine andere Möglichkeit, die Namen separat anzuzeigen.
(Optional) Wenn Sie auch das Datum anzeigen möchten, erstellen Sie ein Textelement und navigieren Sie zu Widget / Other/Data/Bind to data. Sie müssen die "id" hier einstellen

Du bist fast fertig! Speichern Sie den Inhalt, und weisen Sie ihn einem Bildschirm zu. Klicken Sie anschließend mit der rechten Maustaste auf den Bildschirm und dann auf Bildschirm verwalten / Datenzeile festlegen / binden.
Hier müssen Sie das Datum schreiben, zum Beispiel 05.13. Damit zeigen Sie nur die Personen, deren Geburtstag an diesem Tag ist.
https://wallboard.info/wp-content/uploads/2021/02/bd_example_video.mp4?_=1
Anwendungsfall: Einfaches Beispiel für eine Geburtstagsdatenquelle 2
Anwendungsfall: Einfaches Beispiel für eine Geburtstagsdatenquelle 2
Verwenden des Tabellen-Widgets zum Anzeigen von Geburtstagen des Monats
Anzeigen von Daten in einem einfachen Tabellenformat
In diesem Handbuch verwenden wir eine Google-Tabelle, aber wie üblich kann jede Art von Datenquelle verwendet werden, solange sie einen Teil enthält, der einer Tabelle ähnelt: Es benötigt eine Liste von Objekten, und diese Objekte müssen die gleichen Eigenschaften haben. In diesem Fall haben wir eine Liste von Personen und sie alle haben Eigenschaften "Name" und "Geburtstag", sowie einige zufällige quotes.
Fügen Sie ein Tabellen-Widget hinzu und doppelklicken Sie darauf, um die Datenauswahl zu öffnen. Swählen unsere Datenquelle. Wir müssen mindestens einen Pfad zu unserer Tabellenebene auswählen und das kleine Tabellensymbol neben der Zeile mit den Indizes markieren.

Beachten Sie, dass, wenn Sie die Datenquelle als Typ Google Sheet verbunden haben, die Struktur der Daten alle bekannt ist und Sie sie nicht auswählen müssen:

Gehen Sie als Nächstes zur Registerkarte "Spalten auswählen" am unteren Rand des dieses Fenster. Wir können auch den oberen Teil mit dem Aufwärtspfeil minimieren.

Wählen Sie einige Spalten aus , z. B . Name und Geburtstag.

Gehen Sie als Nächstes zur Registerkarte "Einstellungen auf Spaltenebene", indem Sie entweder auf g it oder auf das Bearbeitungssymbol neben einer der ausgewählten Spalten klicken.

Wir können den Namen fett machen oder ihm eine Farbe wenn wir wollen. Das Geburtstagsfeld ist interessanter.

Wenn wir die spezielle Formatierung aktivieren , können wir das Anzeigeformat. Nehmen wir an, wir wollen das Jahr nicht anzeigen und wollen , um den Monat/Tag mit Buchstaben zu schreiben .

Filtern Sie Personen heraus, die nicht im aktuellen Monat geboren wurden
Öffnen Sie die Datenauswahl erneut. Dieses Mal verwenden wir die "Tabellenebeneneinstellungen " " und aktivieren Sie " Zeilen basierend auf Filtern ausblenden ".

Fügen Sie eine neue Regel hinzu, und richten Sie sie ein.
Wählen Sie in einer Spalte den Geburtstag aus.

Mit diesen Regelnteilen wir der Tabelle mit, welche Zeilen ausgeblendet werden sollen, also müssen wir jeden auswählen, der an einem Tag ist, denwir gerade nicht anzeigen möchten. Setzen Sie also den Auswertungstyp auf "NICHT derselbe Monat". Es ist wichtig, diesen zu wählen, da "NICHT in diesem Monat " auch jeden ausschließen würde, der nicht im aktuellen Monat des laufenden Jahres geboren wurde (in diesem Fall alle).

Nach dem Speichern und ggf. Aktualisieren der Datenquelle zeigt unsere Tabellenur die Zeilen an, die sie soll.

Verwenden eines Inhalts-Widgets für ein benutzerdefiniertes Layout
Egal, was wir mit diesem Tisch machen, er würde immer noch wie ein Tisch aussehen. Wir können das Layout jeder Zeile mithilfe eines Inhalts-Widgets anpassen.
Wir verwenden eine Seite aus einem anderen Inhalt oder fügen einfach eine Seite in diesem hinzu. In diesem Tutorial werden wir hier einfach eine neue Seite hinzufügen .

Fügen Sie hier einige Widgets, Bilder, Hintergründe und Farben hinzu. Wir werden Text-Widgets verwenden, aber wenn Sie Bild-URLs oder Dateinamen in Ihrer Datenquelle haben, können Sie auch Bilder hinzufügen.
Festlegen des Basisdatenpfads
In den Inhalten, die wir für das Ein-Personen-Layout verwenden werden , müssen wir einen Basisdatenpfad einrichten. Gehen Sie zum Abschnitt Inhaltseigenschaften / Datenbindung und öffnen Sie diese Datenauswahl.

Wir müssen den gleichen Pfad auswählen, den wir für die Tabelle verwendet haben, und die Ebene mit den Indizes als Drehpunkt markieren. Diesmal ist es auch wichtig, die richtige Spalte (Name oder eine Art ID) als Beschriftung auszuwählen. Beschriftung ist alles, was unterhalb des Pivotpunkts ausgewählt ist.

Wir müssen auch "Datenzeile ändern" aktivieren basiert In einer Datenzeile , die an den Bildschirm oder Inhalt gebunden ist Widget" oben in diesem Fenster.

Gehen Sie nun zur Layoutseite, fügen Sie ein Text-Widget hinzu und öffnen Sie die Datenauswahl (über die Registerkarte Andere des Widget-Menüs oder Umschalt + Doppelklicken Sie auf das Widget). Beachten Sie, dass "Abhängig vom Basisdatenpfad" bereits für uns aktiviert ist und wir nur die letzten beiden Ebenen im Pfad auswählen müssen.

Fügen Sie so viele Widgets hinzu, wie Sie benötigen. Stellen Sie sicher, dass beim Binden eines Widgets an Daten " Abhängig vom Basisdatenpfad ".
Verwenden dieser Seite im Tabellen-Widget
Lassen Sie uns die Schritte, die wir für das Tabellen-Widget benötigen, noch einmal durchgehen.
Fügen Sie ein Tabellen-Widget hinzu, öffnen Sie die Datenauswahl (Doppelklick) und wählen Sie unsere Datenquelle aus . Stellen Sie sicher, dass sich das Tabellensymbol neben der Ebene mit den Indizes befindet (es sei denn, Sie verwenden Google Sheet). ).

Dieses Mal benötigen wir nur eine Spalte auf der Registerkarte "Spalten auswählen". Wählen Sie dieselbe Spalte aus, die wir als Beschriftung für "Basisdatenpfad" verwendet haben. In unserem Fall war es der Name.
Wählen Sie auf der Registerkarte "Einstellungen auf Spaltenebene " diese Spalte aus und legen Sie den Typ auf "Inhalt" fest. Wählen Sie den Inhalt und die Seite aus, auf der wir das Layout für eine Person einrichten .

Speichern Sie es nun und aktualisieren Sie bei Bedarf Datenquellen auf der Seite. Sie sollten so etwas sehen.

Wir müssen immer noch Menschen ausschließen, deren Geburtstag in anderen Jahren liegt Monate, also öffnen Sie die Datenauswahl wieder und schalten Sie sie ein "Zeilen basierend auf Filtern ausblenden" in der "Tabelle" Level-Einstellungen".

Fügen Sie die gleiche Regel hinzu , die wir im vorherigen Beispiel verwendet haben. Spalte ist Geburtstag, und Auswertungstyp ist "NICHT derselbe Monat".

Wenn wir speichern und aktualisieren, werden wir weniger Karten sehen, Aber sie zeigen immer noch die gleiche Vorschau. Dies liegt daran, dass Inhalts-Widgets nicht im Editor gerendert werden. Speichern und öffnen Sie die Vorschau, um zu überprüfen, ob alles funktioniert richtig.


Hinweis: Die Schriftfarben sind in diesem Beispielinhalt unterschiedlich, da sie auch an Daten gebunden werden können und wir Nur einpaar lustige Regeln, um es bunter zu machen, aber es ist optional.
Wir sollten auch den Header ausblenden. Um dies zu erreichen, gehen Sie zurück zur Datenauswahl der Tabelle und auf der Registerkarte "Spalten auswählen" und löschen Sie die Beschriftung für die ausgewählte Spalte.

Optional – automatische Paginierung
Wenn die Anzahl der Geburtstage pro Monat und das Seitenverhältnis Ihrer Karte nicht Machen Sie es praktisch , alles auf jedem zu stapeln andere können Sie das Tabellen-Widget mehrfach kopieren und einfügen mal und verwenden Sie "Zeilen begrenzen". Zum Beispiel, wenn wir in der Lage sein müssen, Auf sechs Karten können wir die Tabelle zweimal, setzen Sie "Nur Anzeige" auf 2 für jede Tabelle und "Überspringen Sie zuerst ... Zeilen" bis 0, 2 bzw. 4.

Optional – mehrere Spalten
Wenn die Anzahl der Geburtstage pro Monat und das Seitenverhältnis Ihrer Karte nicht Machen Sie es praktisch , alles auf jedem zu stapeln andere können Sie das Tabellen-Widget mehrfach kopieren und einfügen mal und verwenden Sie "Zeilen begrenzen". Zum Beispiel, wenn wir in der Lage sein müssen, Auf sechs Karten können wir die Tabelle zweimal, setzen Sie "Nur Anzeige" auf 2 für jede Tabelle und "Überspringen Sie zuerst ... Zeilen" bis 0, 2 bzw. 4.

Den Beispielinhalt können Sie hier herunterladen
Ereignisse und Aktionen
Aktion Batch
Aktion Batch
Aktionsbatches in ihrer einfachsten Form können verwendet werden, um Aktionen zu gruppieren, die zusammen ausgeführt werden müssen. Manchmal können die Touch-Ereignisse oder Senor-Ereignisse eines Widgets 30-40 kleine Aktionen haben, z. B. das Ändern eines Textes, einer Textfarbe, einer Schaltflächenfarbe, eines Werts in einer Datenquelle usw., die jeweils ihre eigene Aktion haben. Manchmal bedeutet es sogar, die Ereignisbedingungen zu duplizieren. Um dieses Problem zu lösen, können wir "Aktionsbatch ausführen" als Aktionstyp auswählen und verwandte Aktionen darin kopieren. Batches haben ein "Notiz" -Feld, dessen einziger Zweck es ist, aufzuschreiben, was der Batch tut, damit er später leichter zu verstehen ist.
Gesendete Felder
Wir können Daten aus mehreren Quellen senden, z. B. das empfangene Sensorereignis, die Werte des interaktiven Widgets, Felder in Datenquellen usw. Weitere Informationen zu ihnen finden Sie im Abschnitt Gesendete Felder.

Bedingungen
Gesendete Felder können in Konditionalen verwendet werden, auf diese Weise können wir Daten auswerten, die aus verschiedenen Quellen stammen. Für eine Aktion innerhalb eines Aktionsbatches haben diese Bedingungen eine "UND"-Beziehung, was bedeutet, dass die entsprechende Aktion nur ausgeführt wird, wenn jede Bedingung erfüllt ist. Wenn Sie sich bei einer Aktion nicht um einen Wert eines Feldes kümmern, belassen Sie ihn einfach bei "hat sich in irgendetwas geändert". Im Gegensatz zu Datenquellenereignissen wird es ausgelöst, auch wenn der Wert mit dem letzten Mal übereinstimmt.

Sie als Werte verwenden
Der empfangene Wert in einem Aktionsbatch ist ein Objekt mit den gesendeten Feldern, daher können wir sie verwenden, wobei der Wertursprung auf "Eigenschaft des empfangenen Werts" festgelegt ist. Hinweis: Diese Option wird nicht angezeigt, wenn die Option "Vereinfachte Ansicht" am unteren Rand des Dialogfelds aktiviert ist.

Content wide
Sometimes we need to repeat the same action for multiple events. We could just use the “Copy action” utility and add it to each use case and often it is a good solution. 
However, if it’s more than one action or requires parameters, a Content wide Action batch is better.

Wenn wir "Ursprung der Aktionen" in "Inhaltsweit" ändern, können wir aus zuvor erstellten inhaltsweiten Stapeln im aktuellen Inhalt auswählen. Wenn wir ein neues benötigen, geben Sie ihm einfach "Neues erstellen", geben Sie ihm einen Namen und fügen Sie alle Aktionen hinzu.
Wenn wir später etwas ändern müssen, können wir einfach von überall auf den Batch zugreifen, ihn ändern, speichern und er wird sich überall ändern. Hinweis: Die Batches werden durch ihren Namen identifiziert, so dass manchmal ein Inhalt gespeichert werden kann, indem ein Batch mit demselben Namen für einen zuvor gelöschten Batch erstellt wird, wenn etwas schief gelaufen ist. Es ist jedoch sicher, eine Charge umzubenennen, sie wird für jede Verwendung umbenannt.
Wir können diese Chargen auch parametrisieren. Der Typ und/oder Ursprung der gesendeten Felder kann für jede Verwendung unterschiedlich sein, solange die Namen identisch sind. Auf diese Weise können wir ein universelles Popup erstellen: Erstellen Sie eine Seite, nennen Sie sie so etwas wie "Popup". Fügen Sie ein Text-Widget und jede Dekoration hinzu, die Sie benötigen. Fügen Sie an einer Stelle an der Stelle, an der Sie sie verwenden möchten, einen inhaltsweiten Aktionsbatch zum Ausführen mit einem gesendeten Feld mit dem Namen z. B. Nachricht hinzu. Fügen Sie im Inneren zwei Aktionen hinzu. Erstens, "Interaktions-Widget" auf der "Popup" -Seite mit dem Text-Widget und setzen Sie Wertursprung auf "Eigenschaft des empfangenen Wertes". Geben Sie als Eigenschaftsname den Feldnamen (Meldung) ein. Die zweite Aktion ist nur eine "Popup" -Aktion, die die "Popup" -Seite "öffnet". Von nun an können Sie dies überall aus diesem Inhalt verwenden, wählen Sie es einfach aus den verfügbaren inhaltsweiten Batches aus und fügen Sie eine beliebige Art von gesendetem Feld mit dem Namen "Nachricht" hinzu.
Verzögerung
Wir können auch Aktionen mithilfe von Batches verzögern. Es kann nützlich sein, um eine Popupmeldung zu erstellen, die nur für ein paar Sekunden sichtbar ist. 
Benutzerdefinierte Skripte und Aufruf von API-Aktionen
Benutzerdefinierte Skripte und Aufruf von API-Aktionen
Damit benutzerdefinierte Skripts funktionieren, müssen Sie Ihren Inhalt entweder auf einem Gerät testen oder ihn in der Vorschau für den Inhalt zulassen.
Öffnen Sie in der Browservorschau die Konsole (F12 in Chrome) und suchen Sie diese Meldung

: Klicken Sie mit der rechten Maustaste auf das "f" und wählen Sie "Als globale Variable speichern".

Jetzt können Sie es ausführen, indem Sie "temp1()" in die Konsole eingeben.

Drücken Sie die Eingabetaste und aktualisieren Sie den Inhalt.

Ereignisse der Datenquelle
Ereignisse der Datenquelle
Datenquellenereignisse
Datenquellenereignisse treten auf, wenn sich ein Feld in einer Datenquelle ändert. Eine Eingabeaktion wird nur ausgeführt, wenn die Bedingung erfüllt ist, und wird nicht wiederholt ausgeführt, wenn sich der Wert ändert, sondern erfüllt bleibt.
Inhaltsweite Aktionen
"Datenquellenereignisaktionen", ähnlich wie "Sensorereignisaktionen", haben eine Bedingung und eine Aktion.

Zuerst müssen Sie das Datenfeld auswählen, das überprüft werden soll.

Wählen Sie dann einen Auswertungstyp aus. Wenn ein anderer Operand zur Auswertung benötigt wird, wird ein Eingabefeld angezeigt. Sie können beispielsweise überprüfen, ob Ihre Daten gleich eins oder größer als 3 sind. Sie können auch überprüfen, ob es leer ist oder nicht.


Der reguläre Ausdruck kann auch als Auswertungstyp gewählt werden. In diesem Fall wird überprüft, ob der Wert im Datenfeld diesem Muster entspricht.
Die verfügbaren Aktionen ähneln denen für "Sensorereignisse".

"Jump to" erfordert eine Ziel-"Seite" aus demselben "Inhalt".

"API aufrufen" sendet eine POST-Anfrage an die angegebene API.

"Statisches Sensorereignis" sendet den angegebenen Text als "Ausgabesensorereignis".

"Dynamisches Sensorereignis" sendet den aktuellen Wert des Felds als "Ausgabesensorereignis".
"Ignorieren" wird nichts bewirken. Es ist da, um in Kombination mit "Final" verwendet zu werden, um zu verhindern, dass in bestimmten Fällen Aktionen stattfinden.
Seitenweite Aktionen
Seitenweite Aktionen funktionieren genauso wie "Sensorseitenweite Aktionen", aber Sie können nur "Interact widget" auswählen und nur ein begrenzter Pool von Widget-Typen ist verfügbar. Dies sind "Checkbox", "Radiobutton" und "Benutzereingabe".

Navigation
Funktioniert genauso wie Sensorereignisse.
Widget-Interaktion
Funktioniert genauso wie Sensorereignisse.
Benehmen
Finale
Funktioniert genauso wie Sensorereignisse.
Unterschiedliche Wiedergabeliste basierend auf Datenbeispiel
Während das Abspielen verschiedener Wiedergabelisten basierend auf externen Ereignissen mit "Sensorereignissen" genauso gut wie mit "Datenquellenereignissen" erreicht werden kann, ist das Erstellen auf der Grundlage von Datenquellenfeldern einfacher.
Dazu müssen Sie "Zielseiten" in Ihren Inhalten haben und diese müssen "Nächste Seite" so einrichten, dass eine der nächsten Seiten die "Zielseite" als "Nächste Seite" hat. Es kann eine beliebige Anzahl von Seiten in den Unter-Wiedergabelisten geben.
Nehmen wir als Beispiel an, wir haben ein Feld, das die Jahreszeit angibt. Wir können unsere "Content wide data source event actions" so einrichten, dass sie zur richtigen Zielseite springen. (Wir könnten jeden Wert im Feld haben, nicht nur Zahlen.)

Auf unserer "Frühjahrsseite" ist die "Nächste Seite" auf eine andere Frühlingsseite im linken Menü ('Frühlingserdbeere') eingestellt.

Dann hat die Seite "Frühlingserdbeere" "Frühlingskirsche" als "Nächste Seite"

Dann hat "Frühlingskirsche" unsere ursprüngliche Landung, "Sprint" als "Nächste Seite".

Wenn sich unser Saisonindikatorfeld auf 1 ändert, springt der "Inhalt" auf "Sprint". Dann, nach 25 Sekunden, springt es zu seiner "nächsten Seite", "Frühlingserdbeere". Nach 8 Sekunden springt es zu "Frühlingskirsche", dann 8 weitere Sekunden später, zurück zu "Frühling" und wiederholt diesen Zyklus, bis sich das Saisonindikatorfeld in etwas ändert, für das wir einen anderen Sprung zur Aktion eingerichtet haben (z. B. 2, 3, 4).
Wir benötigen auch ähnliche nächste Seiten für unsere anderen Landingpages, auf denen die "Nächsten Seiten" korrekt eingerichtet sind.

In unserem Beispiel für saisonale Früchte können wir "Seitenweite" Aktionen einrichten, um "Checkbox" -Widgets basierend auf einem Feld in unserer Datenquelle zu aktivieren und zu deaktivieren. Nehmen wir an, wir behalten unseren Bestand im Auge und wenn er unter 20 liegt, möchten wir das Bild der Frucht in Graustufen statt in Farbe zeigen. Wir richten zwei Zeilen für dasselbe Feld ein, eine mit "ist größer als" '20', die andere mit "ist kleiner als oder gleich" '20', zielen auf das gleiche "Optionsfeld" ab, und eine von ihnen ist auf "Check" eingestellt, die andere auf "Uncheck".

Das "Optionsfeld" "Banane" kann die gleichen Bilder wie "Checked src" und "Unchecked src" haben und auch die Option "Grayscale" aktivieren.


Überspringen von Seiten in der Wiedergabeliste mit Datenquellenereignissen seit v1.6
Wenn Sie eine Wiedergabeliste in einem Inhalt mit mehreren Seiten haben, aber einige von ihnen übersprungen werden sollten, wenn eine Bedingung erfüllt ist, können Sie dies mit Hilfe von Datenquellenereignissen erreichen.
Richten Sie Ihre Inhalte wie gewohnt ein, indem Sie den Wiedergabelisten-Editor verwenden oder die nächste Seite für jede Seite in der Wiedergabeliste manuell einrichten. Öffnen Sie dann das Menü "Datenquellenereignisse" und wählen Sie die Registerkarte "Seitenweite Ereignisse".
Wählen Sie im Kontrollkästchen die Seite aus, die übersprungen werden soll, fügen Sie dann der Tabelle der Aktionen eine neue Zeile hinzu, und wählen Sie das Datenfeld und die Auswertung aus. Wählen Sie als Aktionstyp "Springen zu" und als "Ziel" die übliche nächste Seite dieser Seite.
Externe Ereignis-Aktionen
Externe Ereignis-Aktionen
Verfügbare Aktionstypen basierend auf Ereignistypen:
Springe zu

Sie müssen nur eine Seite im Inhalt angeben. Wenn diese Aktion ausgeführt wird, wird die ausgewählte Seite anstelle der aktuellen Seite geladen.
Nächster

Sie müssen in diesem Popup-Fenster nichts anderes einrichten, benötigen jedoch eine nächste Seite, damit dies funktioniert. Sie können dies entweder erreichen, indem Sie Ihre Seiten zur Wiedergabeliste hinzufügen oder indem Sie manuell eine nächste Seite für alle Seiten einrichten, auf denen diese Aktion funktionieren muss.



Während es in einigen Fällen sinnvoll sein kann, nächste Aktionen und automatische nächste Seite gleichzeitig zu haben, möchten Sie normalerweise die automatische Option deaktivieren.
Vorhergehend
Wenn Sie eine Wiedergabeliste im Wiedergabelisten-Editor zusammengestellt haben, springt eine vorherige Seitenaktion in dieser Liste zurück.
Popup-Fenster
Ein Popup ist eine Seite mit dem aktuellen Inhalt, die über die aktuelle Seite gelegt wird. Es kann nur maximal ein offenes Popup gleichzeitig geben.
Normalerweise können Popups eine beliebige Größe haben (relativ zur Bildschirmgröße, z. B. 80% Breite und 80% Höhe), aber externe Ereignisse öffnen immer ein Popup in voller Größe (100% Breite 100% Höhe). Wenn Sie ein kleineres Overlay benötigen, stellen Sie den Hintergrund Ihres Popups auf transparent ein und fügen Sie ein kleines Feld (z. B. ein Bild- oder Form-Widget) hinzu, wo immer Sie möchten.
Öffnen/Schließen/Umschalten
Sie können genau wählen, was passieren soll. Öffnen erfordert eine Zielseite des Inhalts und öffnet ihn immer, unabhängig davon, ob bereits ein geöffnetes Popup vorhanden ist. Schließen schließt entweder das aktuell geöffnete Popup oder tut nichts. Toggle erfordert eine Zielseite. Wenn das derzeit geöffnete Popup seine Zielseite ist, wird es geschlossen. In jedem anderen Fall wird die Zielseite als Popup geöffnet.
Schließzeit
Wenn Sie die Option zum automatischen Schließen aktivieren und eine Popup-Dauer (in Sekunden) hinzufügen, wird das Popup nach der eingestellten Zeit geschlossen.

API aufrufen
Ihre Anfrage

Die Anfrage wird immer als "POST" bezeichnet. Wenn Sie Pfadvariablen oder Anforderungsparameter benötigen, können Sie diese in das URL-Feld eingeben. Der Anforderungstext hängt vom externen Ereignistyp ab, z. B. für ein Sensorereignis enthält er "event", "id" und manchmal "value". Für einen einfachen Fall von API-Aufruf als Klicktyp auf ein interaktives Bild-Widget hat es "Ereignisname" und "Ereigniswert". Lesen Sie mehr darüber in den jeweiligen Leitfäden.
API-Antwortaktionen
Wenn Sie nur einseitige Kommunikation benötigen, müssen Sie sich keine Gedanken über die Antwort machen. Wenn Sie jedoch auch den Inhalt ändern müssen, muss Ihre Antwort einigen einfachen Regeln folgen:
- Eine Anforderung muss immer eine fix-, string- oder number-Typ-Eigenschaft in der Antwort enthalten. Es kann jedes Feld sein, aber es muss dasselbe sein.
- Jede Eigenschaft, die Sie später behandeln möchten, muss in einem kompatiblen Typ mit der ausgewählten Aktion vorliegen.
Wenn Ihre immer vorhandene Eigenschaft "responseCode" heißt, müssen Sie dies in das Feld für den Hauptnamen der Eigenschaft eingeben. Anschließend können Sie in der Haupteigenschaftswertspalte Regeln für verschiedene Szenarien einrichten.


Wenn Sie nur auf eine andere Seite springen müssen oder immer ein Popup öffnen möchten, brauchen Sie nichts anderes. Wenn Sie den Wert eines Widgets (Text, Bild usw.) ändern möchten, müssen Sie auch eine Eigenschaft dafür angeben. Diese Eigenschaft muss mit dem Widget kompatibel sein und muss immer vorhanden sein, wenn diese Aktion basierend auf dem Haupteigenschaftswert ausgeführt wird.

Statisches Sensorereignis
Wenn diese Aktion ausgeführt wird, wird der Ausgabetext an alle angeschlossenen Sensoren gesendet, die darauf warten.

Dynamisches Sensorereignis
Ein dynamisches Sensorereignis sendet einfach alles, was es ausgelöst hat, an die Sensoren. Wenn ein angeschlossener Sensor damit umgehen kann, wird er es tun. Wenn es von einem API-Aufruf kam, sendet es die gesamte Antwort. Wenn es sich um ein Datenquellenereignis handelt, wird der Wert in einem Objekt wie dem folgenden umgebrochen: {Wert: 3}.

Widget ein-/ausblenden
Sie können ein Widget von jeder Seite im Inhalt auswählen. Sie können auch festlegen, ob es angezeigt, ausgeblendet oder umgeschaltet werden soll.

Interaktions-Widget
Sie können mit normalerweise interaktiven Widgets (z. B. Kontrollkästchen) und Widgets interagieren, die die Datenbindung (z. B. Text) verarbeiten können. Einige externe Ereignisse (Sensor-, Datenquellenereignisse) können nur mit einer Teilmenge dieser Ereignisse interagieren.
Normalerweise interaktive Widgets
Diese funktionieren für alle anwendbaren externen Ereignistypen auf die gleiche Weise.

Kontrollkästchen
Ein Kontrollkästchen kann aktiviert, deaktiviert oder zwischen diesen beiden Zuständen umgeschaltet werden. Jedes identische Kontrollkästchen folgt dieser Änderung wie gewohnt.

Optionsfeld
Ein Optionsfeld kann nur aktiviert werden. Alle anderen Optionsfelder in derselben Schaltflächengruppe werden wie gewohnt angepasst. Identische Optionsfelder werden aktiviert, andere deaktiviert.
Benutzereingabe
Eine Benutzereingabe kann entweder mit dem empfangenen Text überschrieben oder an den aktuellen Inhalt angehängt werden. Basierend auf dem externen Ereignistyp müssen Sie möglicherweise auch einen Eigenschaftsnamen oder einen Wert angeben.

- Für Sensorereignisse können Sie dieses Feld leer lassen, der Ereigniswert des Sensors wird verwendet.
- Bei Datenquellenereignissen können Sie dieses Feld auch leer lassen, und der Wert, der die Änderung ausgelöst hat, wird verwendet.
- Für API-Antwortereignisse müssen Sie den Eigenschaftsnamen eines entsprechenden Felds (Text oder Zahl) angeben.
- Für Touchaktionen müssen Sie den tatsächlichen Wert eingeben, den Sie anzeigen möchten.

Reset-Taste
Eine Reset-Taste hat keine speziellen Optionen. Es löst das ausgewählte Widget aus, als ob es vom Benutzer gedrückt worden wäre.
Schaltfläche "Senden"
Eine Senden-Schaltfläche hat keine speziellen Optionen, aber wenn es Sendetypeigenschaften und Touch-Aktionen gibt, die für das Ziel-Widget eingerichtet sind, werden sie ausgeführt.
Karussell
Ein Karussell kann rückwärts oder vorwärts gedreht werden. Im Moment geht es nur darum, Ihren Benutzer durch Bilder blättern zu lassen, aber in Zukunft kann es möglich sein, dass eine Aktion das aktuell ausgewählte Bild berücksichtigt, als ob es einer Optionsfeldgruppe ähnlich wäre.
Datenbindungsfähige Widgets
Sie können einen Wert per Push an ein datenbindungsfähiges Widget übertragen, als käme er aus einer Datenquelle. Sie müssen sie nicht einmal zuerst mit einer Datenquelle verbinden, damit dies funktioniert. Wählen Sie ein Widget aus, z. B. Text oder Bild, und geben Sie ihm einen entsprechenden Wert. Bei einem Text kann es sich um eine beliebige Zeichenfolge oder einen Zahlenwert handeln. Für ein Bild muss es entweder eine gültige Bildquellen-URL oder der Dateiname eines hochgeladenen Bildes sein, als ob es tatsächlich an eine Datenquelle gebunden wäre.
- Für API-Antwortaktionen müssen Sie den Eigenschaftsnamen eines Felds in Ihrer Antwort angeben.
- Für Touchaktionen müssen Sie den tatsächlichen Wert eingeben.

Inhalts-Widgets
Zwei Arten von Inhalts-Widgets können interagiert werden.
- Wenn eine Schleife ausgewählt ist, kann sie angehalten, fortgesetzt oder umgeschaltet werden.
- Wenn es sich um einen Inhalt handelt und die Option "Eine Seite" aktiviert ist, werden alle interaktiven Widgets in dieser einen Seite der Liste der möglichen Ziel-Widgets hinzugefügt.
Ignorieren
Ignorieren wird nichts bewirken. Sein Zweck ist es, andere Aktionen daran zu hindern, etwas zu tun. Wenn es nicht endgültig ist, blockiert es nur die Fallback-Aktion. Wenn es endgültig ist, blockiert es alle anderen Aktionen, die danach in der Aktionsliste angezeigt werden. Wenn es sowohl seitenweite als auch inhaltsweite Aktionen für den externen Ereignistyp gibt, werden seitenweite Aktionen zuerst interpretiert, sodass eine seitenweite abschließende Ignorieraktion auch alle inhaltsweiten Aktionen blockiert.
Externe Ereignisse im Inhalt (Sensor, Datenquelle, Api-Aufruf, Berührung)
Externe Ereignisse im Inhalt (Sensor, Datenquelle, Api-Aufruf, Berührung)
Externe Veranstaltungen in der Inhaltsverzeichnis
Externe Datenquellen:
Sensoren:
Datasource-Ereignis:
Interaktive Widgets und Touch-Ereignisse:
API-Aufrufe, NodeJS und andere benutzerdefinierte Skripts:
Wie man mit Webhooks zwischen zwei Geräten kommuniziert
Wie man mit Webhooks zwischen zwei Geräten kommuniziert
In diesem kurzen Artikel zeigen wir Ihnen, wie Sie dies erreichen können.
Sie müssen zwei Inhalte dafür erstellen:
- Inhalt des Absenders
- Inhalt des Empfängers
Der Senderinhalt enthält eine Schaltfläche (bei der es sich um ein Text-Widget mit Touch-Aktion handelt), und der Empfängerinhalt enthält auch eine Schaltfläche, die auf Ihre gesendeten Sensordaten reagiert.

SEND-SENSORDATEN Widget-Setup:
Bevor wir beginnen, lesen Sie bitte diese Artikel: Webhooks, Webhooks-Menü, Webhook-Aktionstypen
Zuerst müssen Sie Ihren Webhook zum Senden von Sensordaten erstellen. (In diesem Beispiel senden wir ein "Trigger"-Ereignis)

Sie müssen Ihr Text-Widget für Touch-Aktionen einrichten.
→ 
Klicken Sie auf Typ: API aufrufen
API-URL: Hier müssen Sie Ihre Webhook-URL eingeben
Methode: GET
SETUP DES RECEIVE SENSOR DATA Widgets:
Zunächst müssen Sie zum externen Ereignis navigieren → Sensorereignisse bearbeiten

Hier müssen Sie Ihre Aktionen einrichten.

In diesem Beispiel drehen wir nur das Empfängertext-Widget, aber Sie können jede gewünschte Aktion ausführen. (Springe zu, Nächste Seite, API aufrufen... usw.)
Wenn Sie jeden Schritt ausgeführt haben, wenn Sie die Schaltfläche EREIGNISDATEN SENDEN drücken, dreht sich die Schaltfläche RECEIVE.

Interaktive Widgets und Touch-Aktionen
Interaktive Widgets und Touch-Aktionen
Interaktive Widgets
Widget-Typen
Kontrollkästchen
Ein Kontrollkästchen-Widget kann aktiviert oder deaktiviert werden. Durch wiederholtes Drücken eines Kontrollkästchens wird zwischen diesen beiden Zuständen umgeschaltet.
Beim Senden werden der Ereignisname und entweder der aktivierte oder der ungeprüfte Ereigniswert gesendet. Wenn beispielsweise das folgende Kontrollkästchen aktiviert ist, kann {info: show} an Ihre API gesendet werden. Außerdem enthält die Spalte "info" in der herunterladbaren .csv-Datei "show".

Wenn es zwei oder mehr "Checkboxen" in einem "Content" mit dem gleichen "Event-Namen", "Checked event value" und "Unchecked event value" gibt, werden sie als gleich betrachtet, und wenn eines von ihnen aktiviert oder deaktiviert wird, werden die anderen nachziehen. Auf diese Weise können Sie das gleiche Kontrollkästchen über mehrere "Seiten" hinweg haben oder einige nette visuelle Effekte hinzufügen: Wenn Sie ein kleines "Kontrollkästchen" mit einer Beschriftung daneben aktivieren, kann auch eine größere Visualisierung an anderer Stelle angezeigt werden. Um dies zu erreichen, muss die angeschlossene "Checkbox" ein transparentes Bild als "Unchecked src" und die Visualisierung als "Checked src" haben.


Checkboxen können auch eine "Button-Gruppe" haben, die bei Bedarf an API-Aufrufe gesendet werden kann. Außerdem wird es bei der Entscheidung berücksichtigt, ob zwei "Checkboxen" identisch sind.

Eine "Checkbox" kann im Status "Aktiviert" gestartet werden. Es wird auch auf "Überprüft" zurückgesetzt, wenn eine "Submit" - oder "Reset-Taste" gedrückt wird.

Wenn ein "Kontrollkästchen" "deaktiviert" ist, wird das Bild "Unchecked src" angezeigt. Darüber hinaus können Sie diese Optionen auch aktivieren. Sie sind am nützlichsten, wenn das "Geprüfte und ungeprüfte src" gleich ist. Sie können das "Unchecked src" ganz einfach so einstellen, dass es mit dem "Checked src" übereinstimmt, indem Sie auf dieses unten gezeigte Symbol klicken.

Optionsfelder
"Radiobuttons" kommen normalerweise in Gruppen. In einer Gruppe kann jeweils nur ein "Radiobutton" ausgewählt (angekreuzt) werden. Wenn eine der Schaltflächen in einer Gruppe gedrückt wird, werden die anderen deaktiviert. Das wiederholte Drücken eines "Radioknopfes" wird normalerweise nichts komplizieren.


Die wichtigsten Eigenschaften eines "Optionsfelds" sind "Schaltflächengruppe" und "Geprüfter Ereigniswert". Normalerweise möchten Sie mehrere "Optionsfelder" mit der gleichen "Schaltflächengruppe" und unterschiedlichen "Überprüften Ereigniswerten" haben. Beim Absenden wird nur der eine "Geprüfte" "Optionsfeld"-Ereigniswert" als der zur "Button-Gruppe" gehörende Wert gesendet. Bei den beiden oben genannten "Widgets" wären die gesendeten Daten beispielsweise entweder "{direction: left}" oder "{direction: right}", abhängig von der aktuell ausgewählten.
In Bezug auf den Beginn von "Checked", "Shrink", "Blur" und "Grayscale" -Optionen, "Checked src" und "Unchecked src", funktionieren sie genauso wie "Checkboxes". Außerdem werden identische "Radiobuttons" "aktiviert", um mit der gedrückten Taste konsistent zu sein.
"Optionsfelder" haben auch eine Option "Springen zu". Hier können Sie aus den anderen "Seiten" in diesem "Inhalt" wählen. Wenn diese Schaltfläche gedrückt wird, wird nicht nur ausgewählt, sondern auch der "Inhalt" springt zur ausgewählten "Seite". Außerdem wird "Ereignisname" im Protokoll "Inhaltsinteraktion" protokolliert.


Sie können auch "Schnelles Senden" aktivieren und aus den gleichen Optionen wie für eine Schaltfläche "Senden" auswählen. Dies kann in einem einfachen "Inhalt" verwendet werden, z. B. in einer Kundenzufriedenheitsumfrage an einer Kassenzeile mit 3-5 Auswahlmöglichkeiten, die automatisch gesendet wird, wenn eine der Schaltflächen gedrückt wird.

Benutzereingabe
Wenn Sie weitere Eingaben von Ihren Benutzern benötigen, können Sie ein Widget "Benutzereingabe" hinzufügen, mit dem sie etwas eingeben können. Es kann nützlich sein, ihre E-Mail-Adresse oder einen Kommentar zu ihrer Bestellung zu erhalten.
Eine "Benutzereingabe" hat einen "Ereignisnamen", dieser wird in den übermittelten Daten verwendet. Sie haben auch eine "Button-Gruppe", aber Sie würden das nur in größeren, komplizierteren "Inhalten" verwenden, wenn Sie die Trennung wirklich brauchen.
Schaltfläche "Senden"
Ein "Senden-Button" übermittelt den Wert aller interaktiven Elemente im Inhalt. Dies bedeutet, dass die folgenden Schritte ausgeführt werden:
- Die Werte werden in die herunterladbare .csv Datei eingefügt
- Der ausgewählte Aktionstyp wird ausgeführt. Sie können später in diesem Leitfaden mehr darüber lesen!
- Alle interaktiven Widgets werden auf ihre ursprünglichen Werte zurückgesetzt.
- Wenn es ein "Springen zu"-Ziel gibt, springt der "Inhalt" zu dieser "Seite"


Die "Quelle" für die Schaltfläche "Senden" ist das Bild, das angezeigt wird.
Wenn Sie "Nicht zurücksetzen" aktivieren, werden die interaktiven Widgets nicht auf ihre ursprünglichen Werte zurückgesetzt. Es kann in einigen Fällen nützlich sein, z.B. wenn Sie "Call API" als Aktion haben und nur zurücksetzen möchten, wenn die Transaktion erfolgreich war. In den "API-Antwortereignissen" können Sie einen versteckten "Reset-Button" auslösen, um dies zu erreichen.

Reset-Taste
Ähnlich wie bei "Senden-Schaltflächen" haben "Reset-Schaltflächen" ein "Quell" -Bild, das als "Quell" angezeigt wird, und ein optionales "Springen zu"
Tabellen-Widget-Zellen
Eingebettete "Checkboxes" und "Radiobuttons".
Datenübersicht
Der Hauptzweck von "Datenzusammenfassung" besteht darin, Ihnen zu helfen, Ihren "Inhalt" zu testen, während Sie ihn erstellen. Es werden alle Werte der interaktiven Widgets angezeigt. In einigen wirklich einfachen Fällen kann es auch in der Produktion verwendet werden.
Einreichen von Typen
Verschiedene Sendetypen und -optionen sind sowohl auf "Senden-Schaltflächen" als auch auf "Optionsfeldern" mit aktiviertem Schnellsenden verfügbar. Sie können auch "Senden-Schaltflächen" von Sensorereignissen auslösen, auf diese Weise werden die Optionen des ausgewählten Widgets verwendet.
Standardverhalten
Eine Sendeaktion wird in der herunterladbaren .csv Datei protokolliert.
Sie finden es im Menü "Home", klicken mit der rechten Maustaste auf einen Inhalt und wählen "Inhaltsinformationen". Hier können Sie entweder alle verfügbaren Daten herunterladen oder alle oder einen Teil der aufgezeichneten Daten löschen.

Sie können ein Datum angeben. Alle Daten, die davor aufgezeichnet wurden, werden gelöscht. Wenn es leer gelassen wird, werden alle Daten für diesen "Inhalt" gelöscht.

Beim Herunterladen können Sie einen Bereich angeben. Nur Daten zwischen diesen Daten werden der Datei hinzugefügt. Wenn es leer bleibt, werden alle aufgezeichneten Daten heruntergeladen.

Sie können diese Datei mit jeder Software öffnen, die Sie normalerweise zum Öffnen .xls Dateien verwenden (z. B. Excel). Stellen Sie sicher, dass Sie "Komma" als Trennzeichen auswählen! Die Tabelle enthält mehrere Spalten: "Inhalts-ID", "Inhaltsname", "Inhaltskommentar", "Geräte-ID", "Gerätename" und "Zeitstempel" sind immer vorhanden. Andere Spalten sind die "Schaltflächengruppe" + "Ereignisnamen" Ihrer interaktiven Widgets. Zeilen enthalten das Ergebnis einzelner "Submit"-Pressen.

E-Mail
Wenn Sie E-Mail auswählen, müssen Sie die E-Mail-Adresse des Empfängers festlegen. Dies kann an einer Stelle für alle Sendeaktionen im "Inhalt" eingestellt werden. Es befindet sich im linken Menü, am unteren Rand des Abschnitts "Inhalt".

API aufrufen
Wenn Sie eine kompliziertere Berechnung benötigen, Daten aus Ihrer eigenen Datenbank abrufen oder speichern müssen usw., können Sie Ihre eigene API als Submit-Aktion aufrufen.

Die Anforderung wird als "POST" bezeichnet, und der Anforderungstext enthält die Werte der Widgets als Schlüssel-Wert-Paare.

Wenn Sie die Option "Schaltflächengruppen verwenden" aktivieren, ändert sich der Anforderungstext. Auf der ersten Ebene befinden sich die Schaltflächengruppen und in jeder Schaltflächengruppe die Schlüssel-Wert-Paare. Alle Widgets ohne Schaltflächengruppe befinden sich in der "DefaultButtonGroup".
Sie können auch alle Arten von Reaktionen im Menü "API-Antwort bearbeiten" einrichten. Lesen Sie mehr in diesem Leitfaden!
Sensorereignis
Das Sensorereignis sendet dieselben Daten im gleichen Format an die verbundene Sensorschnittstelle wie als Anforderungstext an eine API. Die Option "Schaltflächengruppen verwenden" funktioniert genauso. Lesen Sie hier mehr über Sensor.
Mit anderen Widgets interagieren
Arten der Interaktion mit Bild-, Text- und Form-Widgets
Einige Widgets (derzeit: "Bild", "Text" und "Form") können in interaktive Schaltflächen umgewandelt werden. Es gibt einen Abschnitt "Interaktion" (früher bekannt als "Jump") auf der Registerkarte "Andere" des Menüs "Eigenschaften". Wenn Sie einen der "Klicktypen" auswählen, führt Ihr Widget diese Aktion aus, wenn Sie darauf klicken.

Springe zu
Wenn diese Schaltfläche gedrückt wird, springt der "Inhalt" zur ausgewählten "Seite".

Popup-Fenster
Alternativ können Sie "Popup" wählen. Das Ziel muss auch eine "Seite" im "Inhalt" sein. Sie können wählen, ob es ein Symbol zum Schließen geben soll, Sie können sogar ein Bild als Symbol zum Schließen auswählen. Außerdem kann eine "Popup-Dauer" eingestellt werden, um das Popup automatisch zu schließen. Wenn es leer ist, kann das Popup nur geschlossen werden, wenn der Benutzer den Bildschirm erneut berührt (oder von einem Sensor-, API-, Touch- oder Datenquellenereignis). Die Popup-Breite und -Höhe relativ zur Bildschirmgröße (in Prozent) kann ebenfalls eingestellt werden.

Navigieren
Die Navigation ähnelt "Jump to" insofern, als sie auch die aktuelle "Seite" belässt, aber auch den aktuellen "Inhalt". Beachten Sie, dass, wenn Sie zu einem anderen "Inhalt" navigieren, Ihre Benutzer nur dann zum ursprünglichen "Inhalt" zurückkehren können, wenn Sie dort auch eine Aktion "Navigieren" haben, die auf diese verweist.

Sensorereignis
Sie können auch ein Ausgabesensorereignis senden. Wenn Sie einen Sensor konfiguriert haben, um auf dieses Ereignis zu reagieren, können Sie ihn verwenden, um ihn auszulösen.

API aufrufen
Ihre API wird als "POST" aufgerufen, und als Anforderungstext enthält sie 2 Schlüssel-Wert-Paare, "Ereignisname" und "Ereigniswert".


Touch-Aktionen seit v1.6
Wenn Sie etwas Komplexeres als diese Optionen benötigen, können Sie Aktionen auswählen und Ihre eigenen Regeln einrichten. Sie können von der Interaktion mit anderen Widgets über das Aufrufen von APIs bis hin zum Navigieren zu anderen Seiten reichen.

Sie können hier auch Jump-, Popup- oder Navigate-Interaktionen hinzufügen.
Die API-Aktion aufrufen kann eine Anforderung direkt an die API senden.
Sie können zwischen GET- und POST-Methoden wählen.

Statische Sensorereignisaktionen können Ereigniswerte an Sensoren senden.

Touch-Aktionen seit v1.6
Aktionstypen
Sie funktionieren auf die gleiche Weise wie ein Sensor, API-Antwort usw. Ereignisse. Lesen Sie hier mehr darüber.
Verhalten
Sie können mehrere Aktionen hinzufügen und alle werden ausgeführt, es sei denn, eine davon ist "Final". Wenn eine Aktion "Abschließend" ausgeführt wird, werden alle anderen Aktionen danach ignoriert. Sie können beispielsweise die Werte einiger Widgets auf einer anderen Seite ändern und dann zu dieser Seite springen.
Abhängig vom Wert interaktiver Widgets

Wenn Sie je nach Wert einiger interaktiver Widgets ein anderes Verhalten benötigen, können Sie "Vom Wert interaktiver Widgets abhängen" aktivieren und alle Widgets zu den Bedingungen hinzufügen. Die Bedingungen werden nur dann für eine Aktion ausgewertet, wenn sie nicht leer ist. Für eine "Checkbox" müssen Sie den "Checked event value" oder den "Unchecked event value" eingeben. Benutzereingaben müssen mit dem übereinstimmen, was der Benutzer eingegeben hat. Sie können auch die Option "Reguläre Ausdrücke für Werte verwenden" aktivieren, um nach einem gültigen Muster zu suchen. "Optionsfelder" werden nicht einzeln hinzugefügt, sondern als "Schaltflächengruppe". Sie müssen den "Geprüften Ereigniswert" des ausgewählten "Optionsfelds" in diese "Schaltflächengruppe" eingeben.

"Letzte" Aktionen stoppen die Ausführungskette nur, wenn ihr Zustand erfüllt ist.
Trinkgeld: Angenommen, Ihr Benutzer muss die Nutzungsbedingungen akzeptieren, bevor er ein Abonnement abschließen kann. Sie können ein "Kontrollkästchen" hinzufügen, den Layer in "Accept ToS" und einen "Submit Button" nennen und ihn "Subscribe" nennen. Richten Sie die Abo-Logik für Ihren "Submit Button" über einen "API-Call" ein. Wenn Sie es in diesem Stadium belassen, kann der Benutzer die Abonnementlogik aufrufen, ohne das "Kontrollkästchen" zu aktivieren. Sie werden immer noch in der Lage sein, es serverseitig zu handhaben, aber wenn Sie dem Benutzer eine schnelle Erinnerung geben möchten, die ToS zu akzeptieren, können Sie das tun!
- Blenden Sie die Schaltfläche "Senden" vor Ihrem Benutzer aus, indem Sie sie außerhalb der Grenzen des Inhalts verschieben (ziehen Sie sie auf die rechte oder untere Seite).
- Fügen Sie ein "Bild-Widget" hinzu, wählen Sie "Aktionen" und richten Sie es wie folgt ein:
- Fügen Sie das Widget "ToS akzeptieren" als "Bedingung" hinzu.
- Fügen Sie zwei "Aktionen" hinzu.
- Die erste "Aktion"
- wird die Bedingung "true" haben (das ist unser "Geprüfter Ereigniswert" für die "Checkbox")
- wird das "Interact-Widget" sein, das auf unseren versteckten "Senden-Button" abzielt.
- muss auf "Final" gesetzt sein
- Die zweite "Aktion"
- braucht keine Bedingung, es wird nur passieren, wenn die andere, "Finale" Aktion nicht ausgeführt wurde
- Sie können eine Aktion einrichten (z. B. ein "Popup" mit einer Meldung, dass die ToS akzeptiert werden müssen), um Ihren Benutzer über das Problem zu informieren.

Trinkgeld: Wenn Sie einen besonders komplexen Inhalt erstellen, kann es manchmal nützlich sein, einige "Kontrollkästchen" außerhalb der Inhaltsgrenzen zu platzieren, und wenn etwas passiert (z. B. springt ein Benutzer zu einer Seite, indem er auf ein "interaktives" "Bild-Widget" klickt), verwenden Sie "Touch-Aktionen", fügen Sie eine Aktion "Springen zu" und eine Aktion "Interact Widget" hinzu, die auf dieses unsichtbare "Checkbox" abzielt und die Aktion "Check" (nicht "Toggle "!). Auf diese Weise können Sie auf jeder Seite überwachen, ob der Benutzer diese Seite bereits besucht hat, und darauf basierende Bedingungen einrichten. Sie können diese Technik für jede andere Art von Aktion verwenden.
Verbesserungen der Foliengestaltungsvorlage seit v1.6
Wenn Sie die Gestaltungsvorlage in Ihrem Inhalt (anstelle eines anderen Inhalts) verwenden, ist sie schneller als vor Version 1.6.

Sie können die Option "Inhalt durchklicken" im Eigenschaftenmenü "Inhalt" aktivieren, um mit Widgets auf der "Masterseite" interagieren zu können. Widgets in Ihren Inhalten bleiben weiterhin anklickbar. Wenn Sie einige halbtransparente Elemente verwenden, durch die Sie klicken müssen, können Sie diese Option für einzelne Widgets im Menü "Eigenschaften" des Widgets auf der Registerkarte "Andere", normalerweise im Abschnitt "Mehr", aktivieren. Es ist nützlich auf Touchscreens, wenn Sie interaktive Elemente auf der Masterseite platzieren möchten, z. B. wenn Ihr Benutzer etwas bestellt und Sie die auf früheren Seiten getroffenen Optionen auflisten möchten.

Die interaktiven Widgets ("Kontrollkästchen", "Optionsfelder",...) auf der "Gestaltungsvorlage" zeigen die gleichen Daten wie ihr Gegenstück an (wenn ihre "Schaltflächengruppe", "Geprüfter Ereigniswert" usw. Eigenschaften übereinstimmen) in den normalen "Seiten" des "Inhalts", spielt es keine Rolle, ob die Option "Durchklicken von Inhalten" aktiviert ist oder nicht.
IR-gesteuerte Inhalte auf Android-Geräten
IR-gesteuerte Inhalte auf Android-Geräten
In diesem Artikel erfahren Sie, wie Sie die IR-Behandlung auf dem Gerät aktivieren und IR-Befehle im Inhalt als Sensorereignisse verwenden können.
Zuerst müssen Sie wissen, ob Ihr Android-Gerät IR-kompatibel ist oder nicht.
Auf einmal kann nur der Inhalt oder nur das Gerät auf IR-Befehle reagieren.
Die Wallboard Android-Anwendung deaktiviert immer die Weiterleitung des IR-Befehls an das Gerät, wenn die Anwendung zum ersten Mal gestartet wird. Wir erlauben nicht, dass IR-Befehle das Gerät beeinflussen (z. B. Ausschalten, Erhöhen der Lautstärke usw.), um zu verhindern, dass Personen Ihren Beschilderungsbildschirm ruinieren.
Wenn Sie dies irgendwie so einstellen, dass das Gerät auf IR-Befehle reagieren kann, müssen Sie es ausschalten, indem Sie den folgenden Benutzerbefehl senden:
{"user_command":"IrHandlingByDevice", "command_data":{"enable":false}}
Weitere Informationen zu Benutzerbefehlen
Sobald die IR-Behandlung des Geräts ausgeschaltet ist, können Sie die Inhalts-IR-Behandlung einrichten.
- Ihr Gerät benötigt eine Enterprise-Lizenz, stellen Sie sicher, dass es damit im Wallboard CMS-System registriert ist!
- Laden Sie unsere Sensor-Designer-Anwendung herunter und installieren Sie sie
- Starten Sie die Sensor-Designer-Anwendung
- Melden Sie sich in der Anwendung sensor designer mit Ihrer E-Mail-Adresse und Ihrem Passwort bei Ihrem Editor-Server an.

- Wählen Sie den Bildschirm aus, den Sie verwenden möchten

- Wählen Sie im Abschnitt Sensorkonfiguration in der Dropdownliste Verbundenes Gerät die Option Android aus.

- Wählen Sie IR-Controller als Angeschlossene Sensoren
- Klicken Sie auf die Schaltfläche "Konfiguration über die Cloud an Bildschirm senden" (blaue Schaltfläche in der unteren linken Ecke)
Nun müssen Sie herausfinden, welche Meldungen die Tasten am IR-Controller senden.
- Senden Sie im Kontextmenü des Geräts den Befehl SHOW im Konsolenfenster anzeigen an Ihren Bildschirm.
- Wenn Sie Tasten auf der Fernbedienung drücken, sollten SensorEvent-Protokolle im Konsolenfenster angezeigt werden.
- Hier ist die Liste der IR-Befehle, die Sie im Inhalt verwenden können. Stellen Sie sicher, dass Ihr Gerät die gewünschten Befehle erhält.
- IR_VOLUME_UP
- IR_VOLUME_DOWN
- IR_VOLUME_MUTE
- IR_CHANNEL_DOWN
- IR_CHANNEL_UP
- IR_HOME
- IR_BACK
- IR_MENU
- IR_DOWN
|
- IR_UP
- IR_UP_RIGHT
- IR_UP_LEFT
- IR_DOWN_LEFT
- IR_DOWN_RIGHT
- IR_CENTER
- IR_LEFT
- IR_RIGHT
- IR_POWER
|
- Senden Sie im Kontextmenü des Geräts den Befehl Konsolenfenster anzeigen AUSBLENDEN an Ihren Bildschirm.
Der letzte Schritt ist das Erstellen des Inhalts
- Erstellen Sie den Inhalt, den Sie anzeigen möchten, fügen Sie Widgets hinzu und erstellen Sie das gewünschte Design dafür
- Suchen Sie im Inhaltseditor auf der rechten Seite das Eigenschaftenmenü "Inhalt" und suchen Sie die Schaltfläche "Sensorereignisse bearbeiten" und drücken Sie sie

- Fügen Sie neue Sensorereignisreaktionen hinzu und legen Sie die gewünschten Reaktionen für die IR-Ereignisse fest

- Weisen Sie den Inhalt Ihrem Bildschirm zu
- Drücken Sie die Tasten des IR-Controllers und wenn Sie alles richtig einstellen, reagiert der Inhalt auf die Ereignisse
- Wenn es richtig funktioniert, dann haben Sie einen tollen Job gemacht. Sie haben ein IR-gesteuertes Konzept für Ihr Android-Gerät erstellt
Bei Fragen wenden Sie sich bitte an unser Support-Team unter support@wallboard.info
Ereignisse beim Seitenwechsel
Ereignisse beim Seitenwechsel
Inhalt breit vs. seitenbreit
Seitenweite Ereignisse werden nur ausgeführt, wenn der Inhalt die entsprechende Seite anzeigt. Inhaltsweite Ereignisse werden auf jeder Seite einzeln ausgeführt. (Hinweis: Wir planen, in einem zukünftigen Update wiederholte Ereignisse zu zeitbasierten Ereignissen hinzuzufügen. Es würde bei einem Seitenwechsel NICHT zurückgesetzt und könnte für verschiedene Anwendungsfälle verwendet werden.)
Seitenanfang
Wenn der Inhalt diese Seite anzeigt oder diese Seite in einem Popup öffnet.
Seitenende
Wenn der Inhalt beendet ist, wird diese Seite oder das Popup-Fenster, in dem sie geschlossen war, angezeigt .
Nach der Verspätung
Sie können eine Verzögerung festlegen , andernfalls wird sie auf die gleiche Weise wie der Seitenstart ausgeführt. Ereignisse . Wenn die Seite verlassen wird oder das Popup vor dem Timer geschlossen wird, werden die Aktionen ignoriert .
Wiederholen
Sie können eine Verzögerung festlegen. Es wird zuerst ausgeführt, nachdem die Verzögerung abgelaufen ist , und dann regelmäßig ausgeführt . Es wird gestoppt, wenn der Inhalt die Seite nicht mehr anzeigt oder das Popup geschlossen wird.
Beachten Sie, dass inhaltsweite Wiederholungen bei jedem Seitenwechsel!
Sie können verschiedene Aufgaben mit Wiederholung erreichen. Zum Beispiel können Sie ein Kontrollkästchen umschalten und dann etwas anderes basierend auf dem Wert des Kontrollkästchens ändern, so dass Sie alles umschalten können (Textwert, Hintergrundfarbe, ob das Audio abgespielt wird, usw.).
Oder führen Sie eine Aktion zu zufälligen Zeiten aus. Dazu müssen Sie einen "Aktionsbatch ausführen" verwenden. Fügen Sie ein gesendetes Feld "Anruffunktion" hinzu. Geben Sie in das Codefeld Folgendes ein: () => Math.random() Und geben Sie ihm ein name, wie zum Beispiel: zufällig. Klicken Sie auf die Schaltfläche "Aktionen( 0)" klicken, fügen Sie Ihre Aktion hinzu und wählen Sie im Auswertungstyp "Ist kleiner als". Geben Sie im Feld "Auswerten gegen" einen Wert zwischen 0 und 1 ein, z. B. 0,1. Math.random() gibt einen Wert zwischen 0 und 1 an, z. B. 0,9329988336300747.
Sensorereignisse im Inhalt
Sensorereignisse im Inhalt
Sensor-Events
Nachdem Sie einen Sensor über einen M5stack oder M5stick an ein Gerät angeschlossen haben, können Sie eine Konfiguration über das Menü "Home" senden, indem Sie mit der rechten Maustaste auf einen "Bildschirm" oder "Bildschirmgruppe", "Verwalten", "Einstellen", "Sensorkonfiguration einstellen" klicken. Beispiel-JSON-Dateien werden in unsere Wissensdatenbank hochgeladen.
In dieser Konfigurationsdatei können Sie genau festlegen, welche Werte an Ihren Inhalt gesendet werden, wenn ein Ereignis eintritt. Sie können beispielsweise einen Sensor mit zwei Tasten anschließen und seine Drückerwerte auf "prev" und "next" einstellen.
Es gibt eine bidirektionale Kommunikation zwischen "Inhalten" und "Sensoren". Event-Handler können für beide in "Inhalt" festgelegt werden.
Erstellen und öffnen Sie einen "Inhalt", fügen Sie einige "Seiten" hinzu und wählen Sie dann "SENSOREREIGNISSE BEARBEITEN" im Abschnitt "Seite" des linken Menüs.


Eingabeaktionen
Wir nennen alles ein "Eingabeereignis", wenn etwas mit einem Sensor passiert (eine Taste wird gedrückt, jemand geht vor einem Bewegungssensor usw.) und sendet einen Wert an den Inhalt. "Eingabeaktionen" werden ausgeführt, wenn ihre Bedingungen mit einem Eingabeereignis übereinstimmen.
Klicken Sie auf "Wert hinzufügen", um eine neue Zeile hinzuzufügen. Im Moment sind nur ein paar Optionen sichtbar. Als Bedingung können wir einen "Sensorwert" angeben (in unserem Beispiel "prev" oder "next").

Wenn ein Inhalt einen "Sensorwert" erhält, werden die "Seitenweitenaktionen" von oben nach unten und dann die "Inhaltsweiten Aktionen" von oben nach unten überprüft.

Wenn einer von ihnen die Bedingung erfüllt, wird die entsprechende Aktion ausgeführt.

Wenn eine ausgeführte Aktion "Finale" war, wird jede Aktion, die nach dieser kommt, ignoriert. Wenn es nicht "Finale" ist und mehr "Aktionsbedingungen" erfüllt sind, können mehr "Aktionen" für dieses Ereignis ausgeführt werden.

In diesem Fall stimmt beim Empfang von "prev" die erste "Action" nicht mit der Eingabe überein und wird daher ignoriert. Die zweite Bedingung "Aktion" ist erfüllt, so dass der "Inhalt" zur vorherigen "Seite" springt. Die dritte "Aktion" wird ignoriert, weil die zweite ausgeführt wurde und "Finale" ist, obwohl sie zusammengepasst hätte.
Inhaltsweite Eingabeaktion

Nachdem Sie "Jump to" oder "Popup" ausgewählt haben, müssen Sie die "Zielseite" angeben, bei der es sich um eine "Seite" des aktuellen "Inhalts" handelt. Wenn eine "Popup-Aktion" ausgeführt wird und bereits ein offenes Popup vorhanden ist, wird es geschlossen. "Popups" öffnen sich im fast vollständigen Bildschirm und werden nicht geschlossen, bis eine andere Interaktion sie schließt.

Bei "Zurück" und "Weiter" werden die Ziele hier nicht festgelegt. Wenn auf der aktuellen "Seite" entweder von Hand oder über den Playlist-Editor eine "Nächste Seite" festgelegt ist, navigiert die Aktion "Weiter" zu dieser. Das "Zurück" funktioniert in der "Playlist" oder versucht, in der "Seitenhistorie" rückwärts zu gehen. In den meisten Fällen möchten Sie die Option "Automatisch" im "Playlist-Editor" oder im linken Menü deaktivieren.




Der Zweck der Option "Ignorieren" besteht darin, in Kombination mit "Final" zu verwenden, um zu verhindern, dass einige Werte die verschiedenen Arten von "Fallback-Aktionen" aktivieren.

Seitenweite Eingabeaktionen
Das Fenster öffnet sich mit der aktuellen "Seite", aber Sie können auch jede andere "Seite" wählen. Es ist möglich, mehrere "Seiten" und dann "Speichern" nur einmal zu ändern.

Die "Seitenweiten Aktionen" haben einen anderen Satz von Optionen als "Inhaltsweite Aktionen".
Navigation
"Jump to", "Popup" und "Ignore" funktionieren auf die gleiche Weise. Wenn Sie "Zurück" oder "Weiter" auf einer bestimmten Seite benötigen, verwenden Sie einfach "Springen zu" mit dem richtigen Ziel.
Nachdem Sie "Interaktions-Widget" ausgewählt haben, werden im Feld "Ziel" alle berechtigten Widgets von der aktuellen "Seite" angezeigt. Einige von ihnen haben auch spezielle Optionen. Der angezeigte Widget-Name kann sowohl im linken Menü als auch im Menü "Ebenen" eingestellt werden.




- Eine "Checkbox" kann umgeschaltet, immer aktiviert oder immer deaktiviert werden. Wenn Sie ein Ereignis (z. B. einen Tastendruck) haben, um mit einem "Kontrollkästchen" zu interagieren, verwenden Sie den Umschalter. Wenn mehrere Ereignisse den Wert beeinflussen können, können "Check" und "Uncheck" für separate "Actions" nützlich sein.

- Ein "Radiobutton" kann angekreuzt werden. Das Aktivieren und Deaktivieren anderer "Optionsfelder" in derselben "Schaltflächengruppe" erfolgt normalerweise. Alle anderen "Optionsfelder" in derselben Gruppe werden aktiviert oder deaktiviert, je nachdem, ob ihr "Geprüfter Ereigniswert" und "Ereignisname" mit dem dieses übereinstimmen.
- Für "Benutzereingabe" können Sie entweder "Überschreiben" oder "Anhängen" wählen. Meistens möchten Sie "Schreibgeschützt" im Menü "Eigenschaften" des Widgets aktivieren.


- "Karussells" können durch "Rückwärts" oder "Vorwärts" umgedreht werden.

- "Schaltfläche "Zurücksetzen" und "Schaltfläche "Senden" funktionieren, als ob sie vom Benutzer angeklickt würden.
Widgets ein-/ausblenden
Jede Art von Widget kann als Ziel gewählt werden. Verfügbare Optins sind: Einblenden, Ausblenden und Umschalten.
Ausgabeaktionen
Wir nennen alles ein "Ausgabeereignis", wenn ein "Inhalt" einen Wert an einen "Sensor" sendet. Ausgangssensoren wie Relais und Drucker können darauf reagieren.
Inhaltsweite Ausgabeaktionen
Ausgabeereignisse können an jedem "Page"-Start und jedem "Page"-Ende gesendet werden.

Wenn mehrere Werte festgelegt sind, werden alle einzeln gesendet.
Aktionen für die seitenweite Ausgabe
"Seitenweite Ausgabeaktionen" werden ausgelöst, wenn die spezifische "Seite" beginnt oder endet. Wenn es sowohl "Seitenweite" als auch "Inhaltsweite" Ausgabeaktionen gibt, werden sie alle einzeln gesendet, beginnend mit den "Seitenweitenaktionen".
Widget-Interaktion
"Seitenweite Seitenendaktionen" können entweder einen statischen Text oder den Wert eines interaktiven Widgets senden.

Die verfügbaren Widgets sind "Checkbox", "Radiobutton" und "Benutzereingabe".
Wenn Sie ein beliebiges "Optionsfeld" in einer "Schaltflächengruppe" auswählen, wird der von der Gruppe ausgewählte "Geprüfte Ereigniswert" anstelle des Werts des einzelnen "Optionsfelds " gesendet. Bei "Checkboxes" wird entweder der "Checked event value" oder der "Unchecked event value" gesendet.

Bei Klick
Wenn Ihr Gerät über einen Touchscreen verfügt, können Sie auch das Touch-Ereignis für die Widgets "Text", "Bild" und "Form" festlegen, um Sensorereignisse zu senden. Diese wird einmal pro Touch-Event verschickt.


Tipp: Wenn Sie einen größeren Bereich benötigen, um berührungsempfindlich zu sein, aber einen kleinen Text in der Mitte verwenden möchten, fügen Sie ein "Bild" oder "Form" darunter hinzu und verwenden Sie die Option "Durchklicken" in Ihrem kleinen Widget. Es kann normalerweise im Abschnitt "Mehr" der Registerkarte "Andere" gefunden werden.



Schaltfläche "Senden"
Senden-Buttons loggen sich immer in eine Datenbank ein und diese Daten können über das Menü "Home" für jeden "Content" einzeln heruntergeladen werden. Neben der Protokollierung können sie eine weitere Aktion ausführen: eine E-Mail senden, ein Ausgabesensorereignis senden oder eine API aufrufen. Nach dem Sammeln der Daten aus allen interaktiven Widgets im gesamten "Inhalt" werden die Widgets auf ihre ursprünglichen Werte zurückgesetzt

Wenn die Option "Schaltflächengruppen verwenden" nicht festgelegt ist, wird ein "flaches" Objekt als "Sensorereigniswert" oder API-Aufrufanforderungstext gesendet, wobei "Interaktionsereignisname" als Schlüssel verwendet wird. Wenn "Schaltflächengruppen verwenden" gesetzt ist, werden alle diese in einzelne "Schaltflächengruppen" eingeschlossen.
Es funktioniert auch, wenn es durch eine "Eingabesensoraktion" aktiviert wird.
Datasource-Ereignis
"Ausgabesensorereignisse" können auch als Aktion gesendet werden, die auf ein "Datenquellenereignis" reagiert. Weitere Details finden Sie unten in einem eigenen Abschnitt. Oldaltörés
Benehmen
Unter den "Eingabesensoraktionen" finden Sie noch weitere Optionen.
Plan B

Falls keine der Aktionen "Seitenweit" oder "Inhaltsweit" mit dem "Sensorereignis" übereinstimmt, wird die "Fallback-Aktion" ausgeführt.

Tipp: Für einige Sensoren ist es wichtig, entweder einige unbedeutende Aktionen in der Konfigurationsdatei zu deaktivieren oder sie als "Ignore" -Aktionen zu addieren, damit sie nicht das "Fallback" auslösen, wenn sie es nicht hätten tun sollen. For example, some button sensors can send both key down and key up events and we usually only care about one of those.
Absender
Nach dem Aktivieren von "Behandeln von Absendern zulassen, nicht nur von Werten" wird in den Tabellen "Eingabeaktionen" eine Spalte "Absender" angezeigt.


Wenn Sie das Feld "Absender" leer lassen, funktioniert alles wie zuvor. Wenn sowohl der "Sender" als auch der "Sensorwert" für eine "Aktion" ausgefüllt sind, wird sie nur ausgeführt, wenn der angegebene Sensor den angegebenen Wert gesendet hat. Wenn nur der "Absender" ausgefüllt ist, erfüllt jeder von diesem Sensor gesendete Wert die Bedingung.

Es kann in Kombination mit einem RFID-Sensor nützlich sein.
Finale

Wenn eine Aktion nicht "Finale" ist, hindert sie andere Aktionen nicht daran, ausgeführt zu werden, selbst wenn es sich um eine Übereinstimmung handelt. Beispielsweise ist es möglich, ein Kontrollkästchen umzuschalten und zu einer anderen Seite zu navigieren. Das "Fallback" wird jedoch nur ausgelöst, wenn keine der Aktionen ausgeführt wurde, unabhängig von ihrem Status "Final".
Sie können die Reihenfolge der Aktionen mit den Pfeilschaltflächen ändern.

Warten auf das Seitenende
Wenn die Option "Aktivieren der Option Warten auf Seitenende für Ereignisse" aktiviert ist, wird in der Tabelle "Inhaltsweite Eingabeaktionen" eine weitere Spalte angezeigt.


Wenn es aktiviert ist, werden die Navigationsaktionen ("Springen zu", "Zurück", "Weiter") nicht immer sofort ausgeführt. Wenn die aktuelle Seite stattdessen eine "Nächste Seite", eine "Verzögerung der nächsten Seite" aufweist und auf "Automatisch" eingestellt ist, wartet sie die verbleibenden Sekunden und springt zu der in der "Sensoraktion" ausgewählten "Seite" anstelle der ursprünglichen "Nächsten Seite". Es kann nützlich sein, wenn Sie Videos anzeigen und nicht möchten, dass Ihr "Inhalt" vor seinem Ende springt.

Als Datenzeile senden
"Wert als gebundene Datenzeilenbeschriftung senden" kann nur aktiviert werden, wenn der Inhalt über eine gültige "Basisdatenbindung" verfügt und "Basierend auf Datenzeilenbeschriftung ändern..." aktiviert ist. Die Werte werden mit Navigations- und "Popup"-Aktionen als "Gebundene Datenzeile" verschickt. Wenn der Wert in der "Label-Position" gefunden wird, wird die entsprechende "Data-Zeile" anstelle der ursprünglichen verwendet. Wird am besten in Kombination mit einer Aktion verwendet, die nur den "Absender" angibt und beliebige "Sensorwerte" akzeptiert. RFID und ähnliche Sensoren können mit dieser Option helfen, leistungsstarke Inhalte zu erstellen.

Reguläre Ausdrücke seit v1.6
Wenn Sie im Fenster "Inhaltsweite Sensorereignisse" die Option "Reguläre Ausdrücke für Werte verwenden " aktivieren, wird der Feldwert "Sensorwert " als regulärer Ausdruck für sowohl "Inhaltsweit" als auch "Seitenweite" Ereignisse.
Weiterlesen: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions

Reguläre Ausdrücke können für ein "API-Antwortereignis " auf die gleiche Weise aktiviert werden.
Für "Datenquellenereignisse" ist diese Option ereignisweise verfügbar, da es sich um einen wählbaren "Auswertungstyp" handelt.

Gesendete Felder
Gesendete Felder
Arten
Datenfeld
Wählen Sie einen beliebigen Teil einer Datenquelle aus. Kann ein Feld, ein Objekt oder die gesamte Datenquelle sein. Kann auch eine "echte" oder simulierte (inhaltsweite) Datenquelle sein.
Gefilterte Datenquelle
Wählen Sie einen "tabellenähnlichen" Teil einer Datenquelle aus. Alles, was als "Pivot-Ebene" verwendet werden könnte, funktioniert. Wählen Sie diese Ebene mit dem Diagrammsymbol aus. Der Pivotpunkt kann sich an der gleichen Stelle oder darüber befinden, wenn Sie zusätzlich die Funktion "Abhängig von Datenzeile" benötigen. Aktivieren Sie "Zeilen basierend auf Filtern ausblenden" und fügen Sie "Regeln" hinzu. Hinweis: Alles, was der Regel entspricht, wird ausgeblendet, wenn Sie also nur Mitarbeiter anzeigen möchten, deren Geburtstag in diesem Monat liegt, müssen Sie alle Zeilen ausblenden, in denen das Geburtstagsfeld "NICHT derselbe Monat" ist.
Nächste Datenzeile
Wählen Sie einen "tabellenähnlichen" Teil einer Datenquelle aus, genau wie bei gefilterter Datenquelle. Bei jedem Aufruf derselben Daten gibt es die nächste "Zeile" in den ausgewählten Daten und durchläuft sie. Sie können das aktuelle Objekt aus einem Seitenänderungsereignis / Wiederholungsaktion in einer Mock-Datenquelle speichern und mehrere Widgets an diese Mock-Daten binden, um die Details einer beliebigen Anzahl von Zeilen in beliebigen tabellenähnlichen Daten anzuzeigen (auf diese Weise ist es möglich, einen RSS-Feed zu durchlaufen!)
Eigenschaft des empfangenen Wertes
Der empfangene Wert unterscheidet sich für Ereignisse. Wenn die erforderlichen Daten verschachtelt sind, wird eine durch Punkte getrennte Liste akzeptiert. Z.B. könnte "values.0.gender" funktionieren, wenn wir einen Kamerasensor haben, der eine Reihe von Personen vor den Bildschirm schickt.
- Sensorereignis: Ein Objekt mit Ereignis-, ID- und Werteigenschaften.
- Touch-Ereignis: der aktuelle Wert des Widgets (mit einigen Einschränkungen für Tabelle und Optionsfeld)
- Seitenwechselereignis: pageInfo.pageName und pageInfo.pageId können verwendet werden
- Aktionsbatch: ein Objekt mit den gesendeten Feldern als Eigenschaften
- API-Antwort: die von der API empfangenen Daten
Empfangener Wert
Ähnlich wie die "Properies des empfangenen Wertes", aber es ist manchmal eine spezifische Eigenschaft davon. Bei Sensorereignissen ist es nur die value-Eigenschaft. Bei Seitenwechselereignissen handelt es sich nur um die pageInfo-Eigenschaft.
Der Wert des Widgets
Der aktuelle Wert eines interaktiven Werthalter-Widgets, z. B. Kontrollkästchen, Optionsfeld oder Benutzereingabe.
Statischer Wert
Geben Sie es einfach ein.
Datei auswählen
Wählen Sie eine Datei aus, es wird eine verwendbare URL sein, die für Bild / Video / ... Widgets. Es wird einbezogen, wenn Sie den Inhalt exportieren.
Geräte-Info
Nützliche Metadaten für benutzerdefinierte Skripts, API-Aufrufe oder einfach nur Protokollierung. Geräte-ID, Name, Datenzeilen-ID, Inhalts-ID, Seiten-ID, Seiten-URL, ...
Call-Funktion
Wenn keines der oben genannten Probleme Ihr Problem lösen kann, schreiben Sie eine Javascript-Funktion. Es wird mit dem empfangenen Wert als erstem Parameter aufgerufen.
Wo finde ich sie?
Aktion ausführen, Batchaktionen
Weitere Informationen finden Sie in diesem Abschnitt.
API-Aktionen aufrufen
Sie werden in den Körper geschickt (eingewickelt in einen Gegenstand). Kann auch in der URL wie folgt verwendet werden: {Feldname} 
Touch-/Seitenwechselereignisse PIN-Codeautorisierung
Ähnlich wie die Aufruf-API kann {fieldName} im Text verwendet werden.
Texttyp-Datenbindung (spezielle Formatierung)
Text-Widget, QR-Code-Widget, Texttyp Tabellenzellen. Sie können einen QR-Code mit der aktuellen Seiten-URL erstellen, indem Sie das Feld Geräteinfo / Seiten-URL verwenden, oder einen benutzerdefinierten Text, der die Werte und Datenfelder des Widgets zusammen usw. verwendet.

"interaktions-widget"-aktionen für text-widgets

Zeitbasierte Ereignisse
Zeitbasierte Ereignisse
Zeitbasierte Ereignisse können verwendet werden, wenn wir den Inhalt für ein bestimmtes wiederholtes Ereignis ändern müssen . z. B . das Ausschalten des Bildschirms für Nächte und Wochenenden oder das Anzeigen des Mittagsmenüs zwischen 11 und 14 Uhr, Aber es ist nicht kompliziert genug, um die Verwendung des Schedulers zu rechtfertigen.
Wir können die gleichen Aktionen wie für Sensor- oder Touch-Ereignisse verwenden (Jump to page, interact with a widget, open a popup, etc...)
Datum

Wir können ein Start- und Enddatum festlegen, beides optional. Wenn es nicht eingestellt ist, wird es einfach ignoriert.

Es ist möglich, Aktionen nur an bestimmten Tagen von die Woche.
Zeit

Die Tageszeit ist im 24-Stunden-Format und obligatorisch.
Benehmen
Wenn der Inhalt gestartet wird (entweder durch Zuweisung oder Neustart des Geräts), wird jede Aktion, die in den letzten 23 Stunden 59 Minuten ausgeführt werden sollte, gruppiert und die letzte Aktion aus jedem Typ wird ausgeführt. (T Der letzte Sprung zu/nächste Seite/ vorherige Seite/Popup-Aktion, die letzte Interaktions-Widget-Aktion für jedes einzelne Widget, das letzte Ausgabesensorereignis für jeden Sensor. Alle anderen Arten von Aktionen werden ausgeführt.)
Nach der Anfangsphase führt der Inhalt die Aktionen bei Bedarf aus. (0-15 Sekunden nach der genauen Minute).
Um den Bildschirm für Nächte und Wochenenden auszuschalten, müssen Sie zwei Ereignisse einrichten. Der erste schaltet den Bildschirm "Jeden Tag" um 18:00 Uhr aus. Der zweite schaltet den Bildschirm nur um 8:00 Uhr ein. Auf diese Weise gibt es beim Neustart des Geräts in den letzten ~ 24 Stunden immer mindestens eine Ein- oder Ausschaltaktion. Wenn es mehr gibt, wird der rece-nt ausgeführt.
Die erforderliche Aktion ist ein "Statischer Sensor oder ein statisches Geräteereignis" mit dem Typ "Bildschirm ein/aus". Die Sensor-ID sollte entweder leer gelassen oder auf den gleichen Wert für die Aktionen "Ein" und "Aus" gesetzt werden.
Anwendungsfall: Nächste Schaltfläche nur aktivieren, wenn mindestens eines von mehreren Kontrollkästchen markiert ist
Anwendungsfall: Nächste Schaltfläche nur aktivieren, wenn mindestens eines von mehreren Kontrollkästchen markiert ist
Aktivieredie Schaltfläche "Weiter" nur, wenn mindestens eines von mehreren Kontrollkästchen aktiviert ist


Wir haben drei Kontrollkästchen mit unterschiedlichen Veranstaltungsnamen. Der gesamte überprüfte Ereigniswert ist auf "yes" gesetzt und deaktiviert Ereigniswert zu "nein", aber sie könnten alle unterschiedlich sein voneinander .

Wir haben zwei weitere Text-Widgets, um den nächsten Schritt darzustellen -Schaltflächen. Normalerweise wären sie an der gleichen Position, aber für In diesem Tutorial werden sie nebeneinander sein für eine einfachere Sichtbarkeit.

Der nächste Knopf beginnt versteckt, der andere beginnt sichtbar. Sie können dies bei Bedarf auch in einem Seitenänderungsereignis (Seitenbreite, Seitenstarttyp) behandeln.
Wir beginnen mit den Touch-Ereignissen für die erste Checkbox.

Stellen Sie sicher, dass die vereinfachte Ansicht im Ereignisdialogfeld deaktiviert ist.

Wir müssen eine Aktion vom Typ "Aktionsbatch ausführen " hinzufügen. Hinweis kann eingestellt werden, ist aber nicht erforderlich. Fügen Sie als Nächstes 3 Felder vom Typ "Wert des Widgets" hinzu .

Aktivieren Sie unsere drei Kontrollkästchen.

Öffnen Sie die Aktionen in diesem Aktionsbatch Ausführen.

Innerhalb des Batches fügen wir zwei Aktionen hinzu. Die erste hat eine Bedingung für jedes Kontrollkästchen. Alle diese Bedingungen haben eine "UND" -Beziehung zueinander , daher müssen wir überprüfen, ob Jedes Kontrollkästchen ist AUS ("gleich" " statisch" "nein")), und in diesem Fall deaktivieren Sie die nächste Schaltfläche. Diese Aktion muss ENDGÜLTIG sein. Das bedeutet, dass, wenn diese Aktion ausgeführt wird, alles darunter ignoriert wird, wenn diese Aktion ausgeführt wird. .
Für die zweite Aktion gelten keine Bedingungen. Da das erste Kontrollkästchen endgültig ist, wird es ausgeführt, wenn ein oder mehrere Kontrollkästchen aktiviert sind. .

Jetzt können wir die Schaltflächenlogik zum Aktivieren / Deaktivieren der nächsten Schaltfläche nach Belieben einrichten . Klicken Sie für jeden dieser Aktionsbatches auf die Schaltfläche "Aktionen (0)".
Für dieses Tutorial haben wir nur zwei Widget-Aktionen zum Anzeigen / Ausblenden für jeden Batch verwendet . (Die " Die Option " Alle Aktionseigenschaften schließen" wurde verwendet, um dies kompakter auf der Screenshot.)

An dieser Stelle sollten wir prüfen, ob es funktioniert. Es funktioniert nur, wenn wir auf das erste Kontrollkästchen klicken, also die zu testenden Fälle sind diese:
Vorschau öffnen => Weiter ist deaktiviert
Klicken Sie auf das erste Kontrollkästchen => Schaltfläche Weiter aktiviert
Klicken Sie erneut darauf => Schaltfläche "Weiter" deaktiviert
Klicken Sie auf das zweite Kontrollkästchen => Es ändert sich nichts
Klicken Sie auf das erste Kontrollkästchen => Schaltfläche Weiter aktiviert
Klicken Sie erneut auf das erste Kontrollkästchen => Die Schaltfläche Weiter bleibt aktiviert (da die zweite Schaltfläche geprüft)
Bitte stellen Sie sicher, dass es so weit funktioniert, bevor Sie umziehen zum nächsten Schritt!

Jetzt brauchen wir diese Logik, um für alle zu funktionieren Kontrollkästchen . Gehen Sie zurück zu den Touch-Ereignissen des ersten Kontrollkästchens und klicken Sie auf Bei der Kopieraktion für den ersten Aktionsbatch "Aktion ausführen" haben wir hergestellt.

Gehen Sie zu den Touch-Ereignissen des zweiten und dritten Kontrollkästchens und klicken Sie auf die Schaltfläche "Alle einfügen".
Jetzt können Sie das Ganze testen und es sollte funktionieren.
Tipp: Sie können einen "Inhaltsweiten " verwenden. Aktionsbatch ausführen, anstatt ihn für jedes Kontrollkästchen zu kopieren . Wenn Sie in diesem Fall sogar die Logik ändern müssen, müssen Sie nicht bearbeiten Es für jedes Kontrollkästchen, nur einmal, für den inhaltsweiten Batch !
Rekapitulation
Erste Ebene (Touch-Aktionen) – für jedes Kontrollkästchen

Zweite Ebene

Dritte Ebene – zwei verschiedene Versionen davon, für jede der Second-Level-Chargen

Hier können Sie diese Beispielinhalte aus diesem Tutorial herunterladen und importieren.
Vermögensberichtswesen
Schleife
Ändern Sie auf einer Folie die Dauer der Folie, und die Anzeigedauer jeder Mediendatei wird gemeldet. Diese Werte zeigen die tatsächliche Wiedergabezeit jedes Bildes oder Videos an, das pro Folie angezeigt wird.
Inhalt
Beim Bearbeiten eines Inhalts können Sie benutzerdefinierte Beschriftungen festlegen, die für jede Seite gemeldet werden, wenn der Inhalt wiedergegeben wird.
Sie finden Berichte, indem Sie im Seitenmenü zu den Seiteneigenschaften navigieren.
Es werden drei Informationssätze gemeldet:
- Name
- Dauer
- Impression: Wie oft die Assets innerhalb einer Seite angezeigt wurden
Hinweis: Bei diesen Feldern handelt es sich um statische Werte, die vom Benutzer ausgefüllt werden müssen. Keiner der drei Werte wird dynamisch basierend auf der Wiedergabe des Inhalts geändert.
Nutzungsstatistik
Gemeldete Daten können im .csv Format auf der Startseite für Schleifen und Inhalte heruntergeladen werden, indem Sie auf das Symbol Nutzungsstatistik neben den Kopfzeilen klicken.
<iframe width="560" height="315" src="https://www.youtube.com/embed/As8qfqfFnmA" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
Content Analyzer
Der Content Analyzer ist eine in der Serverversion 1.8 hinzugefügte Funktion, die mögliche Probleme in Bezug auf Elemente und Dateien erkennen kann und dazu beiträgt, den Inhalt für die beste Wiedergabeerfahrung zu optimieren.
Diese Funktion ist nur mit der Rolle Administrator, Besitzer oder Techniker nutzbar und kann im Kontextmenü eines Inhalts oder einer Schleife gefunden werden, indem Sie auf die Schaltfläche Content Analyzer klicken.

Mit dem Selektor in der oberen linken Ecke können Sie die Fehler oder die Warnungen in Ihrem Inhalt herausfiltern.
Mit der Schaltfläche E-Mail-Ergebnisse können Sie eine E-Mail an den Support-Kontakt senden. Das System füllt die Informationen über den analysierten Inhalt automatisch aus.
Das Gerätediagramm zeigt, wie schwer Ihre Inhalte sind und welches Gerät sie ohne große Probleme abspielen könnte.
Wenn Sie auf die Schaltfläche Weitere Informationen klicken oder nach unten scrollen, finden Sie einen Abschnitt, in dem die Seiten und Elemente des Inhalts angezeigt werden. Hier können Sie die Fehler und Warnungen überprüfen, die der Inhaltsanalysator gefunden hat, und Sie können einige detailliertere Informationen zu jedem Element und jeder Datei sehen, z. B. die Größe des eingefügten Bildes / Videos, die angezeigte Größe oder seine Position.


Synchronisierung von Inhalten
Mit der Funktion Inhalt synchronisieren können Sie einen Inhalt synchron auf mehreren Bildschirmen anzeigen.

Sie können Inhalt synchronisieren im Menü Inhalt unter Eigenschaften aktivieren.
Dinge, die sich der Inhalt synchronisieren auf den Inhalt auswirkt:
- Wechseln von Seiten
- Video/Videos Elemente
- Bildergalerie / Karussell-Elemente
- Inhalts-/Inhalts-Widget-Elemente
- Wetterelement
Nachdem die Funktion aktiviert wurde, müssen Sie den synchronisierten Inhalt nur noch mehr als einem Bildschirm zuweisen.
Bitte beachten Sie, dass nur die gleichen Gerätetypen miteinander synchronisiert werden können. Android mit Android, BrightSign mit BrightSign etc.
Die Synchronisation ist für die Softmatrix-Lösungen obligatorisch. Unsere Softmatrix ist sehr hilfreich bei der Arbeit mit Videowänden.
Über Softmatrix
Synchronisation auf Android-Geräten:
Synchronisierung auf BrightSign-Geräten:
Zusätzlich zur Displayer-Synchronisation erhält der Wallboard BrightSign Client genaue Zeit von dem Server, mit dem er verbunden ist, aber in einem lokalen Netzwerk tut dies nur ein automatisch ausgewähltes Gerät, dann synchronisiert es diese Zeit lokal über https://docs.brightsign.biz/display/DOC/BSSyncManager mit anderen BrightSign-Geräten
Das Hauptgerät, das die Zeit vom Server erhält, wird immer basierend auf der Wallboard-Geräte-ID ausgewählt, die es während der Installation automatisch erhält, das letzte in alphabetischer Reihenfolge. In zukünftigen Versionen wird diese Geräte-ID bearbeitbar sein; Zu diesem Zeitpunkt wird es jedoch während der Installation zufällig zugewiesen.
Um die Geräte-ID eines BrightSign zu finden, klicken Sie mit der rechten Maustaste auf den Bildschirm und wählen Sie dann Bildschirminformationen aus.

Pro lokalem Netzwerk kann nur ein Inhalt mit BrightSign synchronisiert werden. Wenn Sie mehrere BrightSign-Geräte im lokalen Netzwerk haben und eine Softmatrix-Lösung für eine BrightSign-Videowand verwenden, müssen Sie sicherstellen, dass das "Master-Gerät" einer der Mediaplayer ist, denen der Soft Matrix-Inhalt "Child" zugewiesen ist.
Wenn dem "Master-Gerät" nicht einer der "untergeordneten" Inhalte zugewiesen ist, funktioniert die Synchronisierung nicht und einige der Player werden nicht einmal versuchen, ihre Videos abzuspielen, da sie auf dem Master-Gerät warten, das nicht Teil der Soft Matrix-Konfiguration ist. Dies kann leicht behoben werden, indem eines der Geräte ausgetauscht und das Master-Gerät in die Konfiguration einbezogen wird.
Videos verwenden eine zusätzliche setSyncParams-Methode, die im BSSyncManager beschrieben wird und die Genlock-Synchronisation (framegenaue VSync) ermöglicht.
Synchronisation auf Windows-Geräten:
Windows verwendet NTP und Fallbacks auf die HTTP-Quelle, wenn erstere nicht verfügbar ist.
Erstellen einer dynamischen Bildergalerie mit gefilterten Bildern
In diesem Artikel erfahren Sie, wie Sie in Ihrem Inhalt eine Bildergalerie erstellen, die nur die Bilder anzeigt, die das Kriterium erfüllen
Diese Funktion funktioniert in Serverversion 1.10 und höher!
Das Konzept besteht darin, Bilder dynamisch in der Bildergalerie anzuzeigen. Es verfolgt das Hochladen, Löschen und Ändern von Dateien, um immer die gewünschten Bilder anzuzeigen.
- Erstellen Sie zunächst das gewünschte Inhaltsdesign, fügen Sie Widgets hinzu und erstellen Sie das umgebende Konzept
- Öffnen Sie dann den 'Dateimanager' und laden Sie die Dateien in einen Dateiordner hoch, den Sie in eine Bildergalerie filtern möchten
In meinem Beispiel werde ich Hamburger und Pizzen

verwenden, ich werde die Gültigkeit für Pizza2 einrichten.png Da es noch nicht auf der Speisekarte steht, wird es nächste Woche verfügbar sein, also möchte ich es nicht auf meinem Bildschirm anzeigen.
- Bewegen Sie dazu den Cursor über das Bild, klicken Sie auf '...' und wählen Sie 'Gültigkeit bearbeiten'

- Legen Sie im angezeigten Modal das Zeitintervall fest, in dem das Bild in der Bildergalerie angezeigt werden soll

- Fügen Sie dem Inhalt eine "Bildergalerie" hinzu
- Aktivieren Sie das Folienfeld "Ordner verwenden" und klicken Sie auf das Eingabefeld "Ordnerpfad", um den Dateimanager erneut zu öffnen

- Klicken Sie im Dateimanager auf die
Schaltfläche und erstellen Sie einen "Schnellfilterordner".

- Legen Sie einen Namen, den Zielordner, den Sie filtern möchten, und die Kriterien
fest Sie können nach Dateiname, Tags und Gültigkeit filtern.
Sie können "Suche in untergeordneten Ordnern" festlegen, wenn Sie Ordner filtern möchten, die ineinander verschachtelt sind Sie können auch verschiedene teambezogene Optionen festlegen, ich werde nicht auf Details zu diesen Optionen
eingehen Im Beispiel werde ich Bilder herausfiltern, die
Pizza in ihren Namen enthalten, und auch nur gültige Bilder

- Speichern Sie den Schnellfilterordner mit der Schaltfläche in der unteren rechten Ecke
- Klicken Sie zweimal auf den neu erstellten Schnellfilterordner, um ihn zu öffnen, und prüfen Sie, ob nur die gewünschten Bilder angezeigt
werden Für mich ist kein Hamburger erschienen, und Pizza2.png fehlt auch, weil es derzeit nicht gültig ist

- Klicken Sie nun auf die Schaltfläche "Wählen Sie den aktuellen Ordner" am unteren Rand des Dateimanagers, um ihn als Quelle für die Bildergalerie auszuwählen
- Die Bildergalerie zeigt nun die gefilterten Bilder
- Zuweisen des Inhalts zu einem Bildschirm
- Herzlichen Glückwunsch, Sie haben erfolgreich eine dynamische Bildergalerie erstellt, die mit einem Schnellfilterordner verbunden ist
Wenn Sie weitere Fragen haben, kontaktieren Sie unser Support-Team unter support@wallboard.info E-Mail-Adresse.
Dynamische Seitendauer
Sie können die statisch definierte Dauer einer Seite mit der Dauer von Elementen innerhalb dieser Seite überschreiben.
Auf der Registerkarte Seite unter "Dynamische Seiten" im Auswahlfeld "Wenn das Element beendet ist" können Sie ein bestimmtes einzelnes Element oder die Option Alle Elemente auswählen.

Wenn ein bestimmtes Element ausgewählt wird, wechselt die Seite zur nächsten Seite, wenn dieses Element die Wiedergabe seines Inhalts beendet hat. Im Falle von Elementen mit sich wiederholendem Inhalt, wie z. B. Galerien, ist die Dauer die gleiche wie ohne Wiederholung, wenn das Element 1 Zyklus beendet und die erste Folie wieder anzeigt, führt dies stattdessen dazu, dass die gesamte Seite ausgetauscht wird.
Derzeit können diese Arten von Elementen ausgewählt werden: Galerie, Karussell, Video, Videos, Inhalt, Inhalt, Tabelle (mit Paginierung und Datenbindung)
Wenn Sie die Option Alle Elemente auswählen, wird die Seite ausgetauscht, wenn alle Elemente ihren Inhalt (der entsprechenden Elementtypen) abgespielt haben.
Die übliche statisch definierte Seitendauer verhält sich wie eine maximale Dauer, so dass die Seite spätestens dann ausgetauscht wird, wenn ihre ursprüngliche Dauer verstrichen ist.
Aktuelle Einschränkungen:
- Externe Videoplayer werden niemals wiederholt, wenn die Option Alle Elemente ausgewählt ist, auch wenn sie nicht die letzten Elemente sind, die beendet werden.
- Das Inhalts-Widget hat immer noch eine statische Dauer, unabhängig vom Inhalt
O365 und Google-Dokumente einbetten
BITTE BEACHTEN SIE, DASS WIR DIE G SUITE DERZEIT NICHT UNTERSTÜTZEN!
Einbetten von O365-Dokumenten
Bitte beachten Sie, dass Sie die einbettbare URL Ihres Dokuments benötigen, um es in unserem System verwenden zu können.
Andernfalls wird es aufgrund von cors-politischen Problemen nicht funktionieren.
Wenn Sie eine URL wie folgt haben:
https://docs.google.com/presentation/d/e/2PACX-1vR6jTPScvnRhgrSv9q/ pub?start=false&loop=false&delayms=3000&slide=id.p
Sie müssen es ändern in:
https://docs.google.com/presentation/d/e/2PACX-1vR6jTPScvnRhgrSv9q/ embed?start=false&loop=false&delayms=3000&slide=id.p
Zuerst müssen Sie eine freigegebene URL für Ihr Dokument abrufen.
- Wechseln Sie zu Ihrem OneDrive-Konto, und klicken Sie auf die Schaltfläche "Freigeben" in Ihrer Datei.

- Klicken Sie dann auf die Schaltfläche "URL kopieren".

Jetzt haben Sie die freigegebene URL Ihres Dokuments, die Sie mit unserem benutzerdefinierten Widget einbetten können.

Wählen Sie die "URL" als Inhaltstyp aus, fügen Sie die freigegebene URL aus dem vorherigen Schritt als URL ein, und fügen Sie "&action=embedview" am Ende der URL hinzu.
Ihre URL sollte in etwa so aussehen:
https://tenant-my.sharepoint.com/:p:/g/personal/teanant/EWg5asd4BuNi1yTWihPWB5a7F3wmsUw?e=9Bndf1&action=embedview
Sie können auch Interaktivität aktivieren, um Ihr Widget interaktiv zu gestalten (Möglichkeit, im Dokument zu scrollen, Seiten in einer Präsentation zu wechseln).

Diese Methode funktioniert für EXCEL-, PPT- und WORD-Dateien.
Für EXCEL-Dateien können Sie diese Abfrageparameter verwenden, um verschiedene Aktionen auszuführen:
wdHideSheetTabs=True : Blendet die Blattregisterkarten aus, die am unteren Rand aller Blätter in einer Arbeitsmappe angezeigt werden.
wdAllowInteractivity=True : Ermöglicht die Interaktion mit den Daten, wenn die Arbeitsmappe über eine Tabelle oder PivotTable verfügt, die sortiert und gefiltert werden kann.
item=itemName : Zeigt ein bestimmtes Element an. Wenn die Arbeitsmappe ein Diagramm, eine Tabelle, eine PivotTable oder einen benannten Bereich enthält und Sie nur eines der Elemente auf der Webseite anzeigen möchten, verwenden Sie den Parameter Item, um dieses Element anzugeben. Hier finden Sie Informationen zu benannten Bereichen und benannten Elementen in Excel-Arbeitsmappen.
ActiveCell=CellName : Gibt die aktive (ausgewählte) Zelle in der eingebetteten Arbeitsmappe an, wenn die Webseite geöffnet wird. Sie können die aktive Zelle durch Zellbezug (z. B. A1) oder durch Namen angeben.
wdHideGridlines=True : Blendet Arbeitsblatt-Gitternetzlinien für ein saubereres Aussehen aus.
wdHideHeaders=True : Blendet die Spalten- und Zeilenüberschriften aus.
wdDownloadButton=True : Enthält die Schaltfläche Herunterladen, damit Betrachter ihre eigene Kopie der Arbeitsmappe herunterladen können.
Fügen Sie den Abfrageparameter am Ende der URL nach der &action=embedview hinzu, z. B.: &wdHideSheetTabs=True.
Einbetten von Google-Dokumenten
- Um Google-Dokumente einzubetten, öffnen Sie einfach das Dokument und wählen Sie "Im Web veröffentlichen" im Menü "Datei".

- Gehen Sie dann zur Registerkarte "Einbetten", klicken Sie auf Veröffentlichen und kopieren Sie die URL.

Jetzt haben Sie die freigegebene URL Ihres Dokuments, die Sie mit unserem benutzerdefinierten Widget einbetten können.

Wählen Sie die "URL" als Inhaltstyp aus und fügen Sie die freigegebene URL aus dem vorherigen Schritt als URL ein.
Ihre URL sollte in etwa so aussehen:
https://docs.google.com/spreadsheets/d/e/2PACX-1vTHb75CliYAhjj_jlcTMSoUC0ocmZgHWSxT_/pubhtml?widget=true&headers=false
Sie können auch Interaktivität aktivieren, um Ihr Widget interaktiv zu gestalten (Möglichkeit, im Dokument zu scrollen, Seiten in einer Präsentation zu wechseln).

Für Google Tabellenkalkulationen können Sie diese Abfrageparameter verwenden, um verschiedene Aktionen auszuführen:
gid={{gid_id}} : Zeigt ein bestimmtes Blatt mit seiner Blatt-ID an.
gridlines=false / true : Zum Anzeigen von Gitternetzlinien.
sheetnames=true / false : Zum Anzeigen von Blattnamen.
Fügen Sie den Abfrageparameter am Ende der URL nach ?widget=true&headers=false hinzu, z. B.: &gridlines=false.
Sehen Sie sich ein Video über das Widget an:
<iframe width="560" height="315" src="https://www.youtube.com/embed/QoQpIKX5SKE" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
Wie implementiert man ein benutzerdefiniertes chart.js-Widget in Wallboard?
So implementieren Sie Diagramm.js benutzerdefiniertes Widget in Wallboard
Bitte beachten Sie, dass sich dieses Widget noch in der Entwicklung befindet.
Sie können die Beispieldatei hier herunterladen.
Nach dem Hochladen können Sie es in unserem Editor verwenden.
Sie können mehrere Optionen für Ihr Diagramm festlegen:
- Titel: Der Titel Ihres Diagramms
- Opazität: Die Qualität der fehlenden Transparenz oder Transluzenz.
- Diagrammtyp: Linie, Balken, Radar, Kuchen
- Datensatz: Ihre verwendeten Daten. Sie müssen nicht alle Tiefen und Ebenen dafür einstellen. Es genügt, den ersten zu setzen. (wobei alle Daten angezeigt werden)
z.B.: (Wir müssen beachten, dass wir JSON-Arrays für die Daten verwenden.)
Datenstruktur:


Mit der
Schaltfläche können Sie Ihre Daten konfigurieren.

Stileinstellungen:
- Benutzerdefinierte Farben: Alle Daten erhalten eine zufällige Farbe. (Standard: false)
- Rahmenfarbe: Legen Sie eine Farbe für den Rahmen fest.
- Hintergrundfarbe: Festlegen der Hintergrundfarbe für das Diagramm
- Rahmenbreite: Legen Sie eine Breite für die Rahmen fest.
- Etikettenrotation: Rotation für Häkchenbeschriftungen.
- Schriftgrad: Standardschriftgröße (in px) für Text.
Optionseinstellungen:
- Legendenposition: Position der Legende.
- Legende anzeigen: Wird die Legende gezeigt?
- Spannlücken: Wenn true, werden Linien zwischen Punkten ohne oder null Daten gezeichnet. Wenn false, erzeugen Punkte mit Daten einen Umbruch in der Zeile.null
- X-Beschriftungen anzeigen: Wenn true, zeigen Sie die X-Beschriftungen an
- Y-Beschriftungen anzeigen: Wenn true, zeigen Sie die Y-Beschriftungen an
Mit der Hintergrundfarbtransparenz können Sie mehr Diagramme in einem Inhalt wie hier festlegen:

If you want to modify the source code here is the folder structure for it:
custom-widget-chart-line/ ├─ public/ │ ├─widget/ │ │ ├─style.css //
Bearbeiten Sie dies, wenn Sie den Diagrammbereich ändern möchten.
│ │ ├─Skript.js // Bearbeiten Sie dies, wenn Sie die Logik des Diagramms ändern möchten.
│ │ ├─index.html // Bearbeiten Sie dies, wenn Sie den HTML-Code des Diagrammcontainers ändern möchten.
│ │ │ ├─config/ │ │ │ ├─dataset_config/ │ │
│ │ ├─script.js //
Bearbeiten Sie dies, wenn Sie die Logik der Datensatzkonfiguration ändern möchten.
│ │ │ │ ├─zurücksetzen.css // Bearbeiten Sie dies nicht.
│ │ │ │ ├─dataset-config.html // Bearbeiten Sie dies, wenn Sie den HTML-Code des dataset-config-Buttons ändern möchten.
│ │ │ │ ├─dataset-config.css // Bearbeiten Sie dies, wenn Sie das CSS der Schaltfläche dataset-config ändern möchten. │ │ │ ├─dataset_config_2/ │ │ │ │ │ ├─script.js // Bearbeiten Sie dies, wenn Sie die Logik des dataset-config2 ändern möchten. │ │ │ │ ├─reset.css // Bearbeiten Sie dies nicht. │ │ │ │ ├─dataset-config2.html //
Bearbeiten Sie dies, wenn Sie den HTML-Code der Schaltfläche dataset-config2 ändern möchten.
│ │ │ │ ├─dataset-config2.css // Bearbeiten Sie dies, wenn Sie das CSS der Schaltfläche dataset-config2 ändern möchten.
Wie man die Größe von Widgets mit Sensoren ändert
n diesem Artikel führen wir Sie Schritt für Schritt an, wie Sie Inhalte mit dieser Zukunft erstellen können.
Zunächst müssen wir eine Mock-Datenquelle mit unseren Bildparametern erstellen. (Breite, Höhe, oben, links.. usw.)
Wo Sie es finden können:


In der Mock-Datenquelle müssen Sie die Daten im JSON-Format angeben.

Mit diesen Parametern befindet sich unser Widget oben links auf dem Bildschirm. (Erst danach binden wir alle Daten, die wir wollten)
Jetzt können wir ein Bild-Widget mit einem Bild in den Inhalt einfügen.
Nach diesen Schritten müssen wir unsere Parameter an das Widget binden.
Sie finden das BIND ANYTHING auf –> Widget –> Andere –> Daten

Konfigurieren Sie die Widget-Parameter mit der Mock-Datenquelle.

Beispiel für Bindungsdaten:

Wenn Sie mit diesen Schritten fertig sind, können Sie die Sensorereignisse konfigurieren.

Hier werden wir uns einige Ereignisse wie "weit", "mittel", "nah" anhören.
Mit dem Aktionstyp Datenquelle ändern ändern wir die Dokumente-Mock-Datenquelle mit der Überschreibungseigenschaftenaktion, bei der wir unsere Mock-Datenquellendaten wie Höhe und Breite ändern möchten. etc.

Wir können dies dynamisch auch mit dem Wert des Sensors tun. Entsprechend dem Wert des empfangenen Ereignisses.

Nach all diesen Schritten sind unsere Inhalte fertig.
So richten Sie die Meetingraum-Lösung ein
In diesem Artikel zeigen wir Ihnen, wie Sie unsere Meetingraum-Lösung einrichten können.
Hier können Sie die bereits eingerichtete Vorlage herunterladen und importieren. (Das einzige, was Sie einrichten müssen, ist der Basisdatenpfad.)


Hier können Sie die leere Vorlage herunterladen und importieren.
Wir führen Sie Seite für Seite darüber, wie Sie jede Seite konfigurieren und welche Datenbindung Sie für diese Dinge benötigen.
Erste Ansicht des Inhalts (insgesamt 8 Seiten):

Zunächst benötigen Sie eine Verbindung zu einem Google / Microsoft-Konto und erstellen eine Datenquelle aus Ihrem Kalender.
So erstellen Sie Google / Microsoft-Anmeldeinformationen:

Diese Schritte ähneln den Microsoft-Anmeldeinformationen.
So erstellen Sie die Kalenderdatenquelle:

Diese Schritte ähneln der Microsoft-Kalenderdatenquelle.
Stellen Sie sicher, dass Sie einige Beispielereignisse in Ihrem Kalender erstellen. (Mindestens 6)
Machen Sie Ihre Datenquelle zum Basisdatenpfad:


Nach diesen Schritten müssen Sie Ihren Mapper erstellen:

Klicken Sie auf die Regeln des Rechners hinzufügen und wählen Sie die richtige für Sie aus (wir verwenden die Option Kalender vollständig)
↓

↓

Overlay-Seite – nur Schaltflächen
Auf dieser Seite müssen wir nur Abbrechen-Schaltflächen einrichten.

Klicken Sie auf die Schaltfläche ABBRECHEN und klicken Sie auf Touch-Ereignisse bearbeiten

Einrichten der Anruf-API-Aktion

API-URL:
/public-api/calendars/{calendarId}/events/{eventId}/cancel?credentialId={credentialId}
Um die folgenden Dinge auszuwählen, wählen Sie Folgendes:

calendarId-Einstellungen:

eventId-Einstellungen:
Wenn Sie die ID auswählen, stellen Sie sicher, dass Sie die richtige ID für das Ereignis auswählen!
Wenn Sie beispielsweise Ihre 3. bevorstehende Veranstaltung absagen möchten, müssen Sie 2 auswählen. (Weil wir von Null indizieren)

credentialId-Einstellungen:

Dies ist die Einrichtung aller CANCEL-Schaltflächen. (Stellen Sie sicher, dass Sie immer die richtige eventId ausgewählt haben)
Konfigurieren Sie das Ausblenden basierend auf:

Klicken Sie auf das Symbol Basierend auf dem Kreis ausblenden. Wenn es kein Ereignis gibt, wird das Widget ausgeblendet.
Stellen Sie sicher, dass diese Auswahl mit der Auswahl übereinstimmt, die Sie ausblenden möchten.

Vergessen Sie nicht, das gesamte Ausblenden des Widgets basierend auf Einstellungen zu konfigurieren, die Sie ausblenden möchten, wenn es kein Ereignis für dieses Widget gibt.
Gestaltungsvorlage

Hier müssen Sie das Ereignisdatum, den Titel, die Startzeit, die Endzeit festlegen
Veranstaltungstermin

Klicken Sie auf An Daten binden und konfigurieren Sie Ihre Einstellungen.

Titel

Startzeit

Endzeit

Wenn Sie die ID auswählen, stellen Sie sicher, dass Sie die richtige ID für das Ereignis auswählen!
Vergessen Sie nicht, das gesamte Ausblenden des Widgets basierend auf Einstellungen zu konfigurieren, die Sie ausblenden möchten, wenn es kein Ereignis für dieses Widget gibt.
Grün – verfügbar

Hat nichts mit dieser Seite zu tun.
Rot – beschäftigt

Sie müssen den Titel des aktuellen Ereignisses, die Startzeit, die Endzeit, die Beschreibung und die Schaltfläche Ende konfigurieren.
Sie können den Titel des aktuellen Ereignisses, die Startzeit und die Endzeit wie oben beschrieben konfigurieren.
Beschreibung

Klicken Sie auf An Daten binden und konfigurieren Sie Ihre Einstellungen.

Untersattel

Klicken Sie auf die Touch-Ereignisse bearbeiten

API-URL:
/public-api/calendars/{calendarId}/events/{eventId}/end?credentialId={credentialId}
Sie können calendarId, eventId und credentialId wie oben beschrieben konfigurieren.
Wenn Sie die ID auswählen, stellen Sie sicher, dass Sie die richtige ID für das Ereignis auswählen!
Sie können ein Ereignis nach der Erstellung erst nach 1 Minute beenden!
Vergessen Sie nicht, das gesamte Ausblenden des Widgets basierend auf Einstellungen zu konfigurieren, die Sie ausblenden möchten, wenn es kein Ereignis für dieses Widget gibt.
Teilnehmer

Hier müssen Sie 4 verschiedene Tabellen konfigurieren.
Nicht beantwortet

Das blaue Tischsymbol muss an null Stellen stehen!
Und nur der Name sollte aus dem Abschnitt Spalten auswählen ausgewählt werden.

Die anderen drei sehen ähnlich aus. Nur eine Sache muss geändert werden.
Jede Tabelle verfügt über eigene Regeln zum Ausblenden von Zeilen.
Angenommen

Vielleicht

Abgelehnt

Nicht beantwortet

Buchen Sie eine Veranstaltung

Sie müssen 3 Schaltflächen auf dieser Seite einrichten. (Tasten für 10 Minuten, 30 Minuten und 1 Stunde)

Klicken Sie auf die Touch-Ereignisse bearbeiten

Dazu benötigen Sie das Feld Call-Funktion gesendet.
Die Skripte:
In Zwischenablage kopieren
In Zwischenablage kopieren
Wenn Sie eine andere Zeit hinzufügen möchten, können Sie einfach die erste Nummer des Skripts überschreiben. Beispiel für 45 Minuten → 45 * 60 * 1000
Klicken Sie auf die Schaltfläche Aktionen

API-URL:
/public-api/calendars/{calendarId}/events?credentialId={credentialId}&start={startDate}&end={endDate}&title={title}
Sie können die calendarId und die credentialId wie oben beschrieben konfigurieren.
Die gesendeten Felder startDate und endDate geben den Typ Eigenschaft des empfangenen Werts an.
Die Felder des Titels geben den Wert Static value ein.
Klicken Sie auf die Schaltfläche Erfolgreiche Antwortaktionen.

Der andere Zwei-Tasten-Knopf ist ähnlich wie dieser, nur die gegebenen Minuten die Differenz.
Wenn Sie die ID auswählen, stellen Sie sicher, dass Sie die richtige ID auswählen!
Ausdehnen

Sie müssen 3 Schaltflächen auf dieser Seite einrichten. (Tasten für 5 Minuten, 10 Minuten und 30 Minuten)

Klicken Sie auf die Touch-Ereignisse bearbeiten

API-URL:
/public-api/calendars/{calendarId}/events/{eventId}/extend?credentialId={credentialId}&duration={duration}
Sie können die calendarId, die eventId und die credentialId wie oben beschrieben konfigurieren.
Die gesendeten Felder der Dauer geben den Typ Call-Funktion an.
Das Drehbuch:
In Zwischenablage kopieren
Wenn Sie eine andere Zeit hinzufügen möchten, können Sie einfach die erste Nummer des Skripts überschreiben. Beispiel für 15 Minuten → 15*60*1000
Klicken Sie auf die Schaltfläche Erfolgreiche Antwortaktionen.

Der andere Zwei-Tasten-Knopf ist ähnlich wie dieser, nur die gegebenen Minuten die Differenz.
Wenn Sie die ID auswählen, stellen Sie sicher, dass Sie die richtige ID auswählen!
Die heutige Veranstaltung

Hier müssen Sie die heutigen Ereignisse, Titel, Startzeiten, Endzeiten und Abbruchschaltflächen konfigurieren.
In diesem Artikel finden Sie oben alles dazu.
Wenn Sie die ID auswählen, stellen Sie sicher, dass Sie die richtige ID für das Ereignis auswählen!
Vergessen Sie nicht, das gesamte Ausblenden des Widgets basierend auf Einstellungen zu konfigurieren, die Sie ausblenden möchten, wenn es kein Ereignis für dieses Widget gibt.
Dynamisch geänderte Hintergrundfarbe
Sie können eine dynamische Hintergrundfarbe im Farbwidget der Masterseite und in den Abbruchschaltflächen der Überlagerungsseite einrichten.
So richten Sie eine ein:
Klicken Sie auf das Widget, gehen Sie zur anderen Registerkarte und klicken Sie auf die BG-Farbe.

So konfigurieren Sie:

Dynamischer Sprung zu
So richten Sie eine ein:
Klicken Sie auf den Inhalt, gehen Sie zu den externen Ereignissen und klicken Sie auf Datenquellenereignisse bearbeiten.

So konfigurieren Sie:

Klicken Sie auf den gebundenen Wert:

Wenn Sie alle diese Schritte ausgeführt haben, müssen Sie in Zukunft nur noch diesen Inhalt an Ihre Bildschirme anhängen und Daten an einen Bildschirm binden. (Aufgrund der Basisdatenquelle binden wir sie am Anfang)
Wie Sie Ihre Handball-Anzeigetafel einrichten
Richten Sie Ihre Handballanzeigetafel Schritt für Schritt ein
Hallo!
In diesem kurzen Artikel zeigen wir Ihnen, wie Sie Ihre Fußballanzeigetafel ganz einfach einrichten können.
Erste Schritte::
- Sie benötigen ein paar Dinge:
Inhalt des Controllers

Wir werden 5 Seiten wie auf dem Bild haben.
-
-
- Mannschaftsaufstellung
- Score-Einstellungen
- Signale
- Uhrzeit einstellen
- Legen Sie Strafen fest.
Lassen Sie uns dies Schritt für Schritt tun.
Standard (Startseite)

Auf der ersten Seite (Standard) haben wir 2 Bilder und 7 Schaltflächen.
Wir verbinden unsere interne Datenquelle mit den Bildern.

und die bilder unten, wir setzen 4 tasten zum umschalten zwischen ihnen.
Wir setzen "API aufrufen"-Aktionen, um den Bildindex zu erhöhen oder zu verringern

Zusätzlich zu diesen wird es 3 weitere Schaltflächen für "Alle Daten zurücksetzen", auf die Seite "Controller" und "Zeit einstellen" geben.
Wir benötigen eine Webhook-Aktion "Interne Datenquelle festlegen" mit einem JSON mit Standarddaten für die Schaltfläche Alle Daten zurücksetzen.
{
"TeamA": 0, "TeamB": 0, "period": 1, "teamsPictureA": 1, "teamsPictureB": 1, "timeoutsA": 0, "timeoutsB": 0, "setCurrentTime": { "min": 0, "sec": 0 }, "setBreakTime": { "min": 0 },
"setTimeoutTime": { "min
": 0
}
}

Die Tasten "Controller" und "Set time" haben eine einfache "Jump to" -Aktion.
zum beispiel:

Controller

Wie Sie sehen können, haben wir viele Knöpfe. (Insgesamt 22). Es sieht kompliziert aus, ist es aber nicht.
Los geht's:
- Wir setzen auf den Schaltflächen für Punktzahl, Zeitraum und Timeouts eine Erhöhung oder Verkleinerung des Webhooks.
- Die Signale und Gifs navigieren uns mit Popup-Aktion zur Signalseite.

- Die Schaltflächen Start Match / Pause Match / Show und Start Timeout / Start Break-Time haben eine gewisse Funktion. (Ausblenden, Anzeigen, Ereignis senden)
- Start-Match: Wir haben darauf eine Aufruf-API (mit gesendetem 'start'-Ereignis) und drei Anzeigen/Ausblenden-Aktionen festgelegt, um dies und die Schaltfläche "Übereinstimmung fortsetzen" (falls angezeigt)
auszublenden und auch die Schaltfläche "Übereinstimmung stoppen" anzuzeigen.
- Pause: Wir haben dazu eine Aufruf-API (mit gesendetem Ereignis 'pause') und eine Aktion zum Ein- / Ausblenden eingestellt, um die Schaltfläche "Übereinstimmung fortsetzen" anzuzeigen.
z.B. Start Match Button:

- Zeitüberschreitung anzeigen und starten: Wir haben darauf eine Aufruf-API (mit gesendetem 'Timeout'-Ereignis) und zwei Anzeigen/Ausblenden-Aktionen festgelegt, um dies
auszublenden und die andere Schaltfläche Hide and start timeout anzuzeigen.
- Timeout ausblenden und starten: Wir haben darauf eine Aufruf-API (mit gesendetem 'timeoutEnd'-Ereignis) und zwei Anzeigen/Ausblenden-Aktionen festgelegt, um dies
auszublenden und die andere Schaltfläche zum Anzeigen und Starten des Timeouts anzuzeigen.
- Start-Pausenzeit: Wir legen eine Aufruf-API (mit gesendetem 'addBreakTime'-Ereignis) und zwei Anzeigen/Ausblenden-Aktionen fest, um dies
auszublenden und die andere Schaltfläche "Pausenzeit stoppen" anzuzeigen.
- Stopp der Pausenzeit: Wir haben darauf eine Aufruf-API (mit gesendetem 'hideBreakTime'-Ereignis) und zwei Anzeigen/Ausblenden-Aktionen festgelegt, um dies
auszublenden und die andere Schaltfläche Pause starten anzuzeigen.
- Stop-Match: Wir legen eine Call-API fest (mit gesendetem 'stop'-Ereignis und anderen Call-APIs zum Ausblenden von Widgets auf dem anderen Inhalt.)
und sieben Ein-/Ausblenden-Aktionen zum Ausblenden von Fortsetzen, Ausblenden und Start-Timeout, Stopp-Pause-Zeit, Stop Match
und Anzeigen von Start Match, Start half-time, Add overtime buttons.
Signale
Wir setzen die 13-Signal-Taste (oder so viel wie Sie möchten) mit der Aktion API aufrufen, die darin besteht, ein Ereignis mit dem Namen der Schaltfläche an Scoreboard zu senden.
zum beispiel.:

Legen Sie Strafen für Spieler fest

Es gibt 24 Knöpfe. 2-2 Text-Widgets mit Hintergrundfarbe und 1-1 Benutzereingabe-Widget. Die anderen sind transparent.
Alle transparenten Widgets haben die gleiche Struktur.
Strafen interne Datenquelle:
{
"penaltieA1Player": "0", "penaltieA2Player": "0", "penaltieA3Player": "0", "penaltieA1TimeMin": { "min": 2 }, "penaltieA2TimeMin": { "
min": 2 }, "penaltieA3TimeMin": { "min": 2
},
"penaltieB1Player": "0", "penaltieB2Player": "0",
"penaltieB3Player": "0",
"penaltieB1TimeMin": { "min
": 0
}, "penaltieB2TimeMin": { "
min": 0
},
"penaltieB3TimeMin": { "min
": 0
}
}
Beispiel dafür:
- 2min taste
- Es wird eine Aktion "API aufrufen" mit dem setPenaltiePlayerA1-Ereignis geben
- Eine Sprungaktion, um zur Controller-Seite zurückzukehren
- Zwei Datenquellenaktionen mit Überschreibeigenschaft ändern (eine zum Einstellen der Strafzeit und eine für die Spielernummer)
- Eine Interact Widget-Aktion zum Löschen des Eingabefeldes.
- Ein Aktionsbatch ausführen mit 3 Aktionen zum Ausblenden eines Benutzereingabefelds und des anderen für die Schaltflächen. (2min,4min)



Uhrzeit einstellen

Diese Seite enthält 4 Benutzereingaben und 3 Schaltflächen.
Jede Schaltfläche sendet eine Call-API-Funktion mit setBreakTime-, currentTime- und Timeout-Ereignissen, und sie haben zwei Change-Datenquellenereignisse, die auch den Wert der Eigenschaften ändern.



Inhalt des Anzeigers

Wir müssen Datenquelleneigenschaften mit Text-Widgets für Partituren verbinden.

Außerdem bearbeiten wir das Sensorereignis für API-Aufrufe.
Alle ähneln sich, müssen aber für jede Controller-Taste geändert werden.
ANFANGEN
Für das Ereignis "start" verwenden wir den Aktionsbatch Execute mit 2 Aktionen. (Die anderen werden ähnlich sein, also werden wir dies nicht mehr detailliert beschreiben.)

Innen im Aktions-Batch

AUFHÖREN

Breaktime START
(natürlich verstecken wir dies, wenn der stopper das ende erreicht / oder wir wollen ihn manuell ausblenden)

Beispiel für Stopperereignisse
z.B.: Breaktime Stopper
Hier verwenden wir 2 Arten von Ereignistypen:
- Immer
- Ende (Halt erreicht bei)
Der erste verfolgt die verstrichenen Minuten und der zweite zum Ausblenden von Widgets am Ende.

Signale
Alle Signalereignisse sehen so aus, nur mit anderen Audiodateien.

Wenn Sie all dies richtig und sorgfältig einstellen, sind Ihre Inhalte endlich fertig.
Wie Sie Ihre Fußball-Anzeigetafel einrichten
Richten Sie Ihre Fußballanzeigetafel Schritt für Schritt ein
Hallo!
In diesem kurzen Artikel zeigen wir Ihnen, wie Sie Ihre Fußballanzeigetafel ganz einfach einrichten können.
Erste Schritte:
- Sie benötigen 2 Inhalte dafür:
Inhalt des Controllers

Wir werden 3 Seiten wie auf dem Bild haben.
Lassen Sie uns dies Schritt für Schritt tun.
Standard (Startseite)

Auf der ersten Seite (Standard) haben wir 2 Bilder und 8 Schaltflächen.
Wir verbinden unsere interne Datenquelle mit den Bildern.

und die bilder unten, wir setzen 4 tasten zum umschalten zwischen ihnen.
Wir setzen "API aufrufen"-Aktionen, um den Index der Bilder zu erhöhen oder zu verringern oder den Halbzeitstart festzulegen.

Zusätzlich zu diesen wird es 2 weitere Schaltflächen für "Alle Daten zurücksetzen" geben und auf die Seite "Controller" gehen.
Für das "Zurücksetzen aller Daten" benötigen wir die Webhook-Aktion "Interne Datenquelle festlegen" mit einem JSON mit Standarddaten.
{
"TeamA": 0, "TeamB": 0, "teamsPictureA": 1, "teamsPictureB": 1, "halfTime": { "min": 15 }, "startMinAt": { "
min": 0
}, "period": 1,
"shotOnGoalA": 0, "shotOnGoalB": 0, "cornerKicksA": 0, "cornerKicksB": 0, "savesA": 0, "savesB": 0
,
"overTimerMin
": 1
}

Die Schaltfläche "Controller" hat eine einfache "Jump to" -Aktion.

Controller

Wie Sie sehen können, haben wir viele Knöpfe. (Insgesamt 27). Es sieht kompliziert aus, ist es aber nicht.
Los geht's:
- Wir setzen auf Score-Buttons eine Erhöhung oder Verkleinerung des Webhooks. (Zuhause, Besucher, Torschüsse, retten... usw.)
- Die Signale und Gifs navigieren uns mit Popup-Aktion zur Signalseite.

- Die Schaltflächen Start Match / Add Overtime / Start half-time haben eine gewisse Funktion. (Ausblenden, Anzeigen, Ereignis senden)
- Start-Match: Wir haben darauf eine Aufruf-API (mit gesendetem 'start'-Ereignis) und zwei Ein- / Ausblendungsaktionen festgelegt, um dies auszublenden und die andere Pause-Schaltfläche anzuzeigen.
- Pause: Wir haben darauf eine Aufruf-API (mit gesendetem 'pause'-Ereignis) und zwei Anzeigen/Ausblenden-Aktionen festgelegt, um dies auszublenden und die andere Schaltfläche "Übereinstimmung starten" anzuzeigen.
z.B. Start Match Button:

- Halbzeitbeginn starten: Wir haben darauf eine Aufruf-API (mit gesendetem Halbzeitereignis) und zwei Ein- / Ausblendungsaktionen festgelegt, um dies auszublenden und die andere Halbzeitschaltfläche Stopp anzuzeigen.
- Halbzeitstopp: Wir haben darauf eine Aufruf-API (mit gesendetem 'halftimeEnd'-Ereignis) und zwei Anzeigen/Ausblenden-Aktionen eingestellt, um dies auszublenden und die andere Schaltfläche Halbzeit starten anzuzeigen.
- Überstunden hinzufügen: Wir haben dazu eine Aufruf-API (mit gesendetem 'addOverTime'-Ereignis) und zwei Anzeigen/Ausblenden-Aktionen festgelegt, um dies auszublenden und die andere Schaltfläche Überstunden ausblenden anzuzeigen.
- Überstunden ausblenden: Wir haben darauf eine Aufruf-API (mit gesendetem 'hideOverTime'-Ereignis) und zwei Anzeigen/Ausblenden-Aktionen festgelegt, um dies auszublenden und die andere Schaltfläche Überstunden hinzufügen anzuzeigen.
- Stop-Match: Wir haben darauf eine Call-API (mit gesendetem 'stop'-Ereignis) und drei Ein- / Ausblendungsaktionen eingestellt, um die Schaltflächen Pause, Stop half-time, Hide overtime und
Start Match, Start half-time, Add overtime auszublenden.
Signale
Wir setzen die 13-Signal-Taste (oder so viel wie Sie möchten) mit der Aktion API aufrufen, die darin besteht, ein Ereignis mit dem Namen der Schaltfläche an Scoreboard zu senden.
zum beispiel.:

Inhalt des Anzeigers

Wir müssen Datenquelleneigenschaften mit Text-Widgets für Partituren verbinden.

Außerdem bearbeiten wir das Sensorereignis für API-Aufrufe.
Alle ähneln sich, müssen aber für jede Controller-Taste geändert werden.
ANFANGEN
Für das Ereignis "start" verwenden wir den Aktionsbatch Execute mit 2 Aktionen. (Die anderen werden ähnlich sein, also werden wir dies nicht mehr detailliert beschreiben.)

Innen im Aktions-Batch

Hier suchen wir nach der Periodennummer, da wir die Startzeit ändern müssen, wenn die zweite Periode beginnt.

AUFHÖREN

HALBZEITSTART
(natürlich verstecken wir dies, wenn der stopper das ende erreicht / oder wir wollen ihn manuell ausblenden)

Beispiel für Stopperereignisse
z.B.: Halbzeitstopper
Hier verwenden wir 2 Arten von Ereignistypen:
- Immer
- Ende (Halt erreicht bei)
Der erste verfolgt die verstrichenen Minuten und der zweite zum Ausblenden von Widgets am Ende.


Signale
Alle Signalereignisse sehen so aus, nur mit anderen Audiodateien.

Wenn Sie all dies richtig und sorgfältig einstellen, sind Ihre Inhalte endlich fertig.
So laden Sie Ihre Daten aus Eingabefeldern in die interne Datenquelle hoch
So laden Sie Ihre Daten aus Eingabefeldern in eine interne Datenquelle hoch
In diesem Artikel werden wir einige Schritte durchgehen, die Sie benötigen, wenn Sie ein System erstellen möchten, das Ihre Eingabefelddaten in unser System hochlädt.
Präparat
Datenquelle erstellen
Zuerst müssen Sie Ihre interne Datenquelle erstellen, in die wir alle Informationen hochladen möchten.

und richten sie ihre datenfelder ein.

Erstellen Sie Ihren API-Schlüssel
Sie können darüber in diesem Artikel lesen
Erstellen der Webhook-Aktion
Sie können darüber in diesem Artikel lesen
Wählen Sie In internes Datenquellen-Array einfügen aus, und das Ziel muss Ihre erstellte Datenquelle sein.

Erstellen Sie den Inhalt.
Hier können Sie den Beispielinhalt herunterladen und importieren.
Wählen Sie die Seite EN 2 – Infosammlung aus.
Klicken Sie auf die Schaltfläche OK

Wählen Sie das Widget -> Andere -> Touch-Ereignisse bearbeiten

Hier können Sie auswählen, welche Datenfelder Sie sammeln möchten.

Innerhalb der Einstellungen der Aktionsschaltfläche
Wir stellen die Daten zusammen.
Hier verwenden wir Aktionsbatch ausführen mit Call-Funktion Gesendete Felder

Skript:
In Zwischenablage kopieren
ACHTEN SIE DARAUF:
Stellen Sie sicher, dass Ihr keySelector den Namen der internen Datenquellentabelle wie folgt enthält:
"keySelector": "YOURTABLENAME.rows"
Stellen Sie sicher, dass Sie die Namen der TABLE-Felder verwenden.
"YOUR_TABLE_FIELD_NAME": receivedValue.CustomerName,
Innerhalb der Einstellungen der Aktionsschaltfläche

Wir nennen diese API mit GET Special
API-URL:
https:// YOURSERVER/public-api/integration/webhooks?apiKey=YOURAPIKEY&payload={payload}
Wie Sie Power Automate mit Wallboard verwenden
So verwenden Sie Power Automate und Wallboard zusammen
In diesem Artikel werden wir einige Schritte durchgehen, die Sie benötigen, wenn Sie ein automatisiertes System erstellen möchten, das Ihre SharePoint-Listendaten und Microsoft Teams-Nachrichten in unser System hochlädt, dann können Sie mit Ihren Daten auf Wallboard arbeiten.
(WICHTIG! Einige Komponenten nur mit Pro-Lizenz verfügbar)
Inhalt:
- Hochladen von SharePoint-Listendaten und Herunterladen von Bildern.
- Hochladen von SharePoint-Listendaten in als interne Datenquelle
- Microsoft Teams-Nachrichten werden mit Nachrichtenauslöser als interne Datenquelle auf das Wallboard hochgeladen.
- Microsoft Teams-Nachrichten werden mit einem Schlüsselwort als interne Datenquelle auf das Wallboard hochgeladen.
Hochladen von SharePoint-Listen und Herunterladen von Bildern
Wenn Sie Schwierigkeiten haben, Ihren Fluss aufzubauen. Sie können es hier herunterladen.
Exportieren und Importieren von MS Flow
Benötigte Komponenten
- SharePoint – Wenn ein Element erstellt oder geändert wird
- SharePoint – Senden einer HTTP-Anforderung an SharePoint
- SharePoint – Abrufen von Dateiinhalten mithilfe des Pfads
- Datenoperation – JSON analysieren
- Datenoperation – Verfassen
- Variable – Variable initialisieren
- Kontrolle – Auf jeden anwenden
- Variabel – Variable einstellen
- Variable – An Array-Variable anhängen
- Zeitplan – Verspätung
- HTTP – HTTP
Richten Sie Ihren Flow ein
SharePoint – Wenn ein Element erstellt oder geändert wird
Sie müssen Ihre Website-Adresse und den Namen Ihrer Liste auswählen!

Dies löst Ihren Flow aus.
SharePoint – Senden einer HTTP-Anforderung an SharePoint
Sie müssen Ihre Site-Adresse auswählen, die Methode auf GET festlegen und URI-Pfad muss sein:
/_api/web/lists/GetByTitle('IHR LISTENNAME')}')/Elemente
Sie können Variablen erstellen, um den Fluss konfigurierbarer zu machen.

Datenoperation – JSON analysieren
An diesem Punkt müssen Sie zuerst Ihren Flow ausführen.
Wenn Sie die Meldung "Ihr Fluss lief erfolgreich." erhalten haben, müssen Sie die OUTPUTS-Informationen kopieren.

Danach fügen Sie den Parse JSON aus den Datenoperationen hinzu und wählen Sie die HTTP-Anforderung für den dynamischen Inhalt des Inhalts des Elements aus.
Klicken Sie auf die Generate from sample und fügen Sie hier die OUTPUTS-Texte ein und klicken Sie auf Fertig.

(Der generierte Text kann sich vom Bild unterscheiden)
Variable – Variable initialisieren
Hier erstellen wir ein Array, eine Objektvariable und mehr, wenn wir unseren Fluss lesbarer machen wollen. zum Beispiel.:

- folderName – Geben Sie den Namen des Ordners an, in den Sie Ihre Bilder im Wallboard-System hochladen möchten.
- Server-URL – Ihre Server-URL z.B.: https://editor.wallboard.info
- Webhook-API-Schlüssel – hier können Sie Ihren API-Schlüssel angeben
- Ereignis-ID für Dateiupload – Ihre Webhook-Ereignis-ID für den Dateiupload
- Ereignis-ID für Datenquellen-Upload – Ihre festgelegte Datenquellen-Ereignis-ID
Wir haben alle mit dem String-Typ verwendet, mit Ausnahme von Initialize Array und Initialize Object. Dort haben wir Array- und Objekttypen mit [ ] und { } Wert verwendet.
Kontrolle – Auf jeden anwenden
Wir müssen alle Werte, die wir haben, durchgehen.

Sie müssen den dynamischen Ergebnisinhalt auswählen oder Sie können diesen kopieren und in das Feld einfügen:
@{body('items')? ['d']? ['ergebnisse']}
(items = Der Name Ihrer Parse JSON-Aktion)
Kontrolle – Zustand
Sie benötigen diese Komponente, um zu überprüfen, ob sich ein Bild in der Zeile Ihrer Liste befindet. Sie können nicht hochladen, wenn Sie kein Bild haben.
Wir müssen überprüfen, ob das Images-Element unserer Iteration nicht leer ist, und wenn es nicht gleich true ist, führen wir den Upload-Prozess des Flusses aus.
Sie müssen dies im Abschnitt Ausdruck schreiben.
empty(items('Apply_to_each')?[' Bilder'])
Datenoperation – JSON analysieren
In diesem Abschnitt erhalten wir unsere Bilddaten. In der Beispielliste haben wir eine Spalte "Bilder", in die wir unsere Bilder hochladen.
Wir müssen den dynamischen Inhalt von 'MainPicture' auf jeden anwenden auswählen, oder Sie können diesen kopieren und in das Feld einfügen:
@{items('Apply_to_each')? ['Bilder']}
(Apply_to_each= Der Name Ihres Anwenden auf jede Aktion | 'Bilder' = Der Name Ihrer Spalte mit Bildern)
Kopieren und Einfügen im Schema Folgendes:
{
"type": "objekt",
"eigenschaften": {
"fileName": {
"type": "string"
},
"serverRelativeUrl": {
"type": "string"
},
"id": {
"type": "string"
},
"serverUrl": {
"type": "string"
},
"thumbnailRenderer": {
"type": "objekt",
"eigenschaften": {
"spItemUrl": {
"type": "string"
},
"fileVersion": {
"type": "ganze zahl"
},
"sponsorToken": {
"type": "string"
}
}
},
"type": {
"type": "string"
},
"fieldName": {
"type": "string"
}
}
}
SharePoint – Abrufen von Dateiinhalten mithilfe des Pfads
Hier erhalten wir den Bildinhalt.

Sie können 'serverUrl' und 'serverRelativeUrl' aus der vorherigen Aktion im Abschnitt Dynamischen Inhalt hinzufügen abrufen.

(Das 'image Item' ist der Name der Parse JSON-Aktion)
Datenoperation – Verfassen
Hier konfigurieren wir unseren API-Aufruftext für den Upload.

Sie können diese Zeichenfolge unten kopieren und einfügen:
{
"event_id": "@{variables('Event ID for file upload')}",
"fileName": "@{body('imageItem')?[' fileName']}", "fileContentBase64": "data:image/png;base64,@{base64(body('Get_file_content_using_path'))}",
"overwriteExisting": "true"
}
HTTP – HTTP
Hier können Sie Ihren HTTP-Request konfigurieren.

Sie können die Ausgaben aus dem dynamischen Inhalt des vorherigen Knotens abrufen.
Variabel – Variable einstellen

Hier können Sie Ihre Daten zusammenstellen.
Sie können sie im Abschnitt "Dynamischen Inhalt hinzufügen" auswählen oder manuell hinzufügen:
@{items('Apply_to_each')? ['Titel']} , @{items('Apply_to_each')? ['Details']} ... etc
(Apply_to_each= Der Name Ihres Anwenden auf jede Aktion | 'Titel' = Der Name Ihrer Kolumne)
Variable – An Array-Variable anhängen
Wir hängen das Element an ein Array an.

Der Nein-Abschnitt der Bedingung ist derselbe, mit der Ausnahme, dass hier nur die Datenquellendaten festlegen und Datenquellendaten an Arrayknoten anhängen vorhanden sind.
Zeitplan – Verspätung

Wir brauchen diesen Knoten, weil wir auf diese Weise sicher sein können, dass die Bilder bereits in unser System hochgeladen sind.
Datenoperation – Verfassen
Wir legen unseren Body hier für die HTTP-Anfrage später fest.

Die Formatstruktur:
{
"event_id": "@{variables('Event ID for datasource upload')}",
"data": { "
myList": @{variables('Issues')}
}
}
Sie können Ihre event_id von Ihrem Webhook abrufen. (Verwenden Sie den Aktionstyp Interne Datenquelle festlegen)
HTTP – HTTP
Hier müssen Sie Ihr HTTP einrichten
Sie setzen Ihre Methode auf POST, richten Ihren URI mit dem von Ihnen gewählten Server
ein (z.B. https:// yourServer/public-api/integration/webhooks)
In den Kopfzeilen müssen Sie
- x-webhook-apikey → Ihren API-Schlüssel (API-Schlüssel))
- Sie müssen den Text mit Ihren zusammengesetzten Daten aus dem vorherigen Abschnitt füllen.

Hochladen von SharePoint-Listen
Benötigte Komponenten
- SharePoint – Wenn ein Element erstellt oder geändert wird
- SharePoint – Abrufen von Elementen
- 2x Variable – Variable initialisieren
- Kontrolle – Auf jeden anwenden
- Variabel – Variable einstellen
- Variable – An Array-Variable anhängen
- HTTP – HTTP
Richten Sie Ihren Flow ein
SharePoint – Wenn ein Element erstellt oder geändert wird
Sie müssen Ihre Website-Adresse und den Namen Ihrer Liste auswählen!

Dies löst Ihren Flow aus.
SharePoint – Abrufen von Elementen
Sie müssen Ihre Site-Adresse, Ihren Listennamen, die Option Einträge auf Ordner beschränken und die enthaltenen verschachtelten Elemente auswählen.

2x Variable – Variable initialisieren
Hier erstellen wir eine Array- und eine Object-Variable.

Wir werden alle Daten hier speichern.
Kontrolle – Auf jeden anwenden
Wir müssen alle Werte, die wir haben, durchgehen.

Innerhalb des Apply to each
Wir legen unsere Daten fest

und wir hängen es an das array an.

HTTP – HTTP
Hier müssen Sie Ihr HTTP einrichten
Sie setzen Ihre Methode auf POST, richten Ihren URI mit dem von Ihnen gewählten Server
ein (z.B. https:// yourChoosedServer.wallboard.info/public-api/integration/webhooks)
In den Kopfzeilen müssen Sie
- inhaltstyp → anwendung/json
- x-webhook-apikey → Ihren API-Schlüssel (API-Schlüssel))
- Sie müssen den Körper mit Ihrem event_id und Ihren Daten füllen
Sie können Ihre event_id von Ihrem Webhook abrufen. (Verwenden Sie den Aktionstyp Interne Datenquelle festlegen)

MS Teams Nachrichtenauslöser mit einer einfachen Nachricht
Benötigte Komponenten
- MS Teams – Wenn eine neue Kanalnachricht hinzugefügt wird
- Variable – Variable initialisieren
- Variabel – Variable einstellen
- HTTP – HTTP
Richten Sie Ihren Flow ein
SharePoint – Wenn eine neue Kanalnachricht hinzugefügt wird
Sie müssen das Team und den Kanal für Ihren Auslöser auswählen.

Variable – Variable initialisieren

Variabel – Variable einstellen

HTTP – HTTP
Hier müssen Sie Ihr HTTP einrichten
Sie setzen Ihre Methode auf POST, richten Ihren URI mit dem von Ihnen gewählten Server
ein (z.B. https:// yourChoosedServer.wallboard.info/public-api/integration/webhooks)
In den Kopfzeilen müssen Sie
- inhaltstyp → anwendung/json
- x-webhook-apikey → Ihren API-Schlüssel (API-Schlüssel))
- Sie müssen den Körper mit Ihrem event_id und Ihren Daten füllen
Sie können Ihre event_id von Ihrem Webhook abrufen. (Verwenden Sie den Aktionstyp In internes Datenquellenarray einfügen)

Unsere grundlegende interne Datenquelle sieht so aus

und wir verwenden den Webhook Insert to internal datasource array.
MS Teams Nachrichtenauslöser mit einem Schlüsselwort
Benötigte Komponenten
- MS Teams – Wenn Schlüsselwörter erwähnt werden
- MS Teams – Nachrichten erhalten
- Variable – Variable initialisieren
- 2x Control – Auf jeden anwenden
- Kontrolle – Zustand
- Variabel – Variable einstellen
- HTTP – HTTP
Richten Sie Ihren Flow ein
MS Teams – Wenn Schlüsselwörter erwähnt werden
Sie müssen den Nachrichtentyp, die zu suchenden Schlüsselwörter und das Team auswählen

MS Teams – Nachrichten erhalten
Wähle dein Team und den Kanal aus

Dies gibt uns alle Nachrichten im Kanal zurück.

Variable – Variable initialisieren
2x Control – Auf jeden anwenden
Wir müssen alle Nachrichten-IDs mit der Schlüsselwort-Nachrichten-ID durchgehen, um die richtige zu finden.

Kontrolle – Zustand
Wir gleichen die IDs hier ab (Alle Nachrichten-ID und die erwähnte Nachrichten-ID)

Wenn die Bedingung Ja (wahr) ist

Variabel – Variable einstellen

HTTP – HTTP
Hier müssen Sie Ihr HTTP einrichten
Sie setzen Ihre Methode auf POST, richten Ihren URI mit dem von Ihnen gewählten Server
ein (z.B. https:// yourChoosedServer.wallboard.info/public-api/integration/webhooks)
In den Kopfzeilen müssen Sie
- inhaltstyp → anwendung/json
- x-webhook-apikey → Ihren API-Schlüssel (API-Schlüssel))
- Sie müssen den Körper mit Ihrem event_id, Daten, keySelector, Index füllen
Sie können Ihre event_id von Ihrem Webhook abrufen. (Verwenden Sie den Aktionstyp In internes Datenquellenarray einfügen)

Unsere grundlegende interne Datenquelle sieht so aus

und wir verwenden den Webhook Insert to internal datasource array.
Einen Inhalt für mehrere Displays erstellen - Softmatrix
In diesem Artikel wird gezeigt, wie Sie einen Inhalt auf mehreren Bildschirmen anzeigen.
Voraussetzungen:
- Haben Sie einen NTP-Server auf Ihrem Server installiert. (Wenn Sie keinen NTP-Server installiert haben oder sich nicht sicher sind, ob Sie dies tun, wenden Sie sich bitte an support@wallboard.info. Installieren Sie es nicht selbst!)
- Wenn Sie keinen NTP-Server haben oder ein Problem damit vorliegt, greifen die Geräte auf die UDP-Synchronisierung zurück. In diesem Fall müssen sich die Geräte im selben Netzwerk befinden, um ordnungsgemäß zu funktionieren.
Es gibt zwei Möglichkeiten, eine Softmatrix zu erstellen:
- Wenn Sie nur 1 Bild oder Video pro Seite anzeigen möchten, sollten Sie das Bild oder Video in Abschnitte zuschneiden und zu verschiedenen Inhalten hinzufügen.
- Wenn Sie Widgets und komplexere Inhalte anzeigen möchten, müssen Sie übergeordnete/Master-Inhalte verwenden. Videos werden sehr schlecht funktionieren, da das Gerät den gesamten übergeordneten / Master-Inhalt rendern muss, nicht nur den untergeordneten Inhalt.
Begrenzungen:
- Wenn Sie Beispiel 2 unten auf BrightSign verwenden, müssen Sie darauf achten, wie viele Video-Widgets Sie in Ihren Master-Inhalten verwenden. Wenn Sie beispielsweise möchten, dass 4 separate Videos in jedem Quadranten des "übergeordneten" Inhalts synchronisiert werden, ist dies nicht möglich, da ein BrightSign XT maximal nur 2 Videos pro Inhaltsseite laden kann. Erfahren Sie hier mehr über BrightSign.
Option #1.
Wir empfehlen dringend, diese Option zu verwenden, wenn Sie hochauflösende Videos und Bilder anzeigen möchten. Diese Lösung wird am besten vorgeformt und die Geräte können den Inhalt leicht anzeigen.
In diesem Beispiel verwenden wir ein 4K-Video auf 4 Bildschirmen, aber Sie können so viele Bildschirme verwenden, wie Sie möchten.
- Nachdem Sie das 4K-Video ausgewählt haben, schneiden Sie es mit einer Videozuschneidesoftware in 4 Abschnitte zu.
Wir empfehlen, kleinere Abschnitte als 1920×1080 zu beschneiden, um etwas Platz für die Bildschirmblenden zu lassen.

- Laden Sie die Videoabschnitte in den Editor hoch.
- Erstellen Sie 4 einfache Schleifen oder Inhalte. Nennen Sie sie oben links, unten rechts usw., um festzulegen, welche Inhalte auf jedem Bildschirm angezeigt werden.
- Fügen Sie die Videoabschnitte zu den Schleifen oder Inhalten hinzu. Achten Sie darauf, den richtigen Abschnitt in die richtige Schleife/den richtigen Inhalt einzufügen. Platzieren Sie beispielsweise nicht den oberen linken Videoabschnitt im Inhalt von unten rechts.
- Erstellen Sie ein Duplikat der Seite und fügen Sie es der Wiedergabeliste hinzu, damit die Seite gewechselt wird. Dadurch wird eine Desynchronisation verhindert.
Wenn Sie mehr Seiten haben, müssen Sie die Standardseite nicht duplizieren.
- Aktivieren Sie die Funktion Schleife/Inhalt synchronisieren.
- Stellen Sie sicher, dass jeder Inhalt die gleiche Seitenlänge hat. Wenn eine Seite auch nur um 1 Sekunde länger ist, funktioniert die Synchronisation nicht.
- Weisen Sie die Schleifen oder Inhalte den richtigen Bildschirmen zu.
Option #2.
Zuerst müssen wir definieren, was der "Eltern/Master" -Inhalt und der "Kind" -Inhalt sind.
Der Inhalt "Eltern/Master" ist der Hauptinhalt, den Sie abtrennen, um ihn auf mehreren Bildschirmen anzuzeigen.
'Untergeordnete' Inhalte sind die unterteilten Teile, die den einzelnen Bildschirmen zugeordnet werden.
Der Rand ist die Bildschirmblende. Ohne Hinzufügen des Rahmens sieht der Inhalt seltsam aus.
Sie sind nicht wie in diesem Beispiel auf vier Bildschirme beschränkt. Für mehr oder weniger Bildschirme müssen Sie den Inhalt für jeden Bildschirm erstellen und die Auflösung mit der Anzahl der Bildschirme multiplizieren.

- Erstellen Sie den "Eltern-/Master"-Inhalt, der aufgeteilt wird.
- Legen Sie die Auflösung des Inhalts auf 3840×2160 zuzüglich der Rahmengröße fest. (In meinem Fall 3940×2260)
- Erstellen Sie das Design des Inhalts und aktivieren Sie die Funktion "Inhalt synchronisieren".
- Erstellen Sie die untergeordneten Inhalte und benennen Sie sie oben rechts, unten rechts usw., um zu wissen, auf welchem Bildschirm der Inhalt angezeigt wird. Setzen Sie ihre Auflösung auf 1920×1080.
- Fügen Sie jedem der "Child"-Inhalte ein Inhalts-Widget hinzu. Verwenden Sie den Inhalt "Eltern/Master" als Quelle.
- Legen Sie die Abfrageparameter der Inhalts-Widgets fest. Diese Parameter zeigen dem Displayer, welcher Teil des Master-Inhalts angezeigt werden soll.
Links=0, oben=0, width=1920, height=1080 : Der Anzeiger zeigt ein Auflösungsstück von 1920×1080 an, und der Eckpunkt oben links ist [0;0].
Links=2020, oben=0, width=1920, height=1080: Der Displayer zeigt ein Auflösungsstück von 1920×1080 an, und der Eckpunkt oben links ist [2020;0].
Links=0, oben=1180, width=1920, height=1080 : Die Anzeige zeigt ein Auflösungsstück von 1920×1080 an, und der Eckpunkt oben links ist [0;1180].
Links=2020, oben=1180, width=1920, height=1080 : Der Anzeiger zeigt eine Auflösung von 1920×1080 an, und der Eckpunkt oben links ist [2020;1180
]. (Left=2020, weil ich die Breite des Rahmens zur Basisauflösung hinzugefügt habe, und top=1180, weil ich die Höhe des Rahmens zur Basisauflösung hinzugefügt habe)

- Aktivieren Sie "Inhalt synchronisieren" in jedem untergeordneten Inhalt.
- Weisen Sie den untergeordneten Inhalt den richtigen Bildschirmen zu.
Sehen Sie sich ein Video über das Element an:
<iframe width="560" height="315" src="https://www.youtube.com/embed/1vb7Gj5fu8M" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
Musterseite und Überlagerungsseite
Gestaltungsvorlage
Die Gestaltungsvorlagenfunktion bietet den Benutzern die Möglichkeit, Elemente hinter jeder Seite eines Inhalts zu platzieren. Beispielsweise muss der Benutzer nicht auf jeder Seite des Inhalts dasselbe Hintergrundbild festlegen. Stattdessen erstellt der Benutzer eine Gestaltungsvorlage und wählt das Hintergrundbild auf dieser Seite aus. Benutzer können die Gestaltungsvorlage im Editor unter den Inhaltseigenschaften festlegen.

Es gibt 2 Arten von Gestaltungsvorlagen. Zuerst ist eine einfache Masterseite, die in der Seitenliste des Inhalts erstellt werden kann. Diese Gestaltungsvorlage kann nur in einem Inhalt verwendet werden, in dem sie erstellt wurde, und kann wie eine einfache Seite geändert werden. Die andere Möglichkeit besteht darin, dass der Benutzer einen Inhalt, eine Schleife oder einen Zeitplan als Gestaltungsvorlage einfügen kann.

Overlay-Seite
Eine Overlay-Seite wird benötigt, wenn der Benutzer Widgets über dem Inhalt anzeigen möchte. Jedes Element, das auf der Overlay-Seite enthalten ist, wird auf jeder Seite des Inhalts angezeigt. Overlay-Seiten können in der Seitenliste des Inhalts erstellt und wie eine einfache Seite geändert werden.

Sehen Sie sich ein Video über das Widget an:
<iframe width="560" height="315" src="https://www.youtube.com/embed/m821XrEArw4" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>