NFC-Erkennung konfigurieren
Scannt oder stoppt das Scannen von NFC- (Near Field Communication) Tags.
Optionen
-
Aktion gibt an, ob das Scannen nach NFC-Tags gestartet (Lesen) oder gestoppt (Abbrechen) werden soll.
Die folgenden Optionen werden nur für Lesen verwendet:
-
Script gibt das Script an, das ausgeführt werden soll, wenn ein Tag gelesen wird, wenn ein Fehler auftritt, wenn der Benutzer den Vorgang abbricht oder wenn der Vorgang durch einen anderen NFC Konfigurations-Scriptschritt mit der Option „Abbrechen“ abgebrochen wird.
-
Parameter (optional) gibt einen Scriptparameter für das Script an.
-
Timeout (optional) bricht den Lesevorgang nach der angegebenen Anzahl von Sekunden automatisch ab.
-
Kontinuierliches Lesen (optional) Wenn der Wert ungleich null ist, legt der Scriptschritt fest, dass Tags gelesen werden, bis der Benutzer auf die Schaltfläche „Abbrechen“ tippt, bis der Timeout-Parameter erreicht wird oder bis das durch das Betriebssystem vorgegebene Zeitlimit erreicht ist. Ist diese Option null oder wurde nicht angegeben, wird nur ein Tag gelesen.
-
Ergebnis als JSON formatieren (optional) Wenn der Wert nicht null ist, empfängt Script die Daten des NFC-Tags als JSON-Objekt. Wenn diese Option null ist oder nicht angegeben wurde, werden die Daten als mehrzeilige Zeichenfolge empfangen.
Kompatibilität
Produkt | Unterstützt |
FileMaker Pro | Nein |
FileMaker Go | Ja |
FileMaker WebDirect | Nein |
FileMaker Server | Nein |
FileMaker Cloud | Nein |
FileMaker Data API | Nein |
Custom Web Publishing | Nein |
Ursprung in Version
19.0
Beschreibung
Verwenden Sie diesen Scriptschritt, um nach NFC-Tags zu suchen oder die Suche nach NFC-Tags zu beenden, die mit einer kleinen Datenmenge programmiert sind. Daten in NFC-Tags sind oft eine URL, die Protokolle wie http, tel, fmp und mailto verwendet.
Die Funktion „Hole ( ScriptParameter )“ muss in dem in der Option Script angegebenen Script aufgerufen werden, um die Daten des NFC-Tags zurückzugeben. Abhängig von der Einstellung von Ergebnis als JSON formatieren werden die Daten des NFC-Tags entweder als JSON-Objekt oder als mehrzeilige Zeichenfolge zurückgegeben.
Die folgende Tabelle beschreibt jedes Element im JSON-Objekt und jede Zeile der mehrzeiligen Zeichenfolge. Weitere Informationen zu NFC-Parametern finden Sie in der NDEF-Spezifikation (NFC Data Exchange Format).
JSON-Element |
Zeilennummer der Zeichenfolge |
Beschreibung |
---|---|---|
action
|
1 |
Der Grund für den Aufruf des Scripts. Gibt Folgendes zurück:
|
error
|
2 |
Fehlerzeichenfolge |
parameter
|
3 |
Der optionale, im Dialogfeld „Script angeben“ angegebene Scriptparameter. |
payloadCount
|
4 |
Anzahl der NFC-Datensätze, die von dem Tag gelesen wurden |
payloads
|
- |
In JSON ein Array mit den Objekten in den folgenden Zeilen, eines für jeden NFC-Datensatz. In einer mehrzeiligen Zeichenfolge werden die Zeilen 5 bis 8 für jeden NFC-Datensatz wiederholt. |
identifier
|
5 |
Identifikator des NFC-Datensatzes |
primary
|
6 |
Payload des NFC-Datensatzes als Zeichenfolge |
type
|
7 |
Typ des NFC-Datensatzes |
typeNameFormat
|
8 |
Typ des Namensformats des NFC-Datensatzes |
secondary
|
- | Zusätzliche Payloadinformationen, sofern vorhanden (nur JSON) |
Dies ist ein Beispiel für die Daten eines NFC-Tags als JSON-Objekt:
{
"action" : "TagRead",
"error" : "",
"parameter" : "Optionaler Scriptparameter",
"payloadCount" : 2,
"payloads" :
[
{
"identifier" : "",
"primary" : "Dies ist der Inhalt der NFC-Karte.",
"secondary" : "de",
"type" : "T",
"typeNameFormat" : 1
},
{
"identifier" : "",
"primary" : "https://beispiel.de",
"secondary" : "",
"type" : "U",
"typeNameFormat" : 1
}
]
}
Dies sind die gleichen Daten des NFC-Tags als mehrzeilige Zeichenfolge:
TagRead
Optionaler Scriptparameter
2
Dies ist der Inhalt der NFC-Karte.
T
1
https://beispiel.de
U
1
Hinweise
-
Es darf nur ein Lesevorgang gleichzeitig stattfinden. Wenn ein Lesevorgang läuft, während ein Abbruchvorgang durchgeführt wird, wird der Lesevorgang abgebrochen.
-
Der Scriptschritt „URL öffnen“ kann zum Öffnen einer URL verwendet werden, z. B. eine URL, die beim Lesen eines NFC-Tags empfangen wurde.
Beispiel 1
Leitet das Lesen eines einzelnen NFC-Tags ein und stoppt nach Erreichen des im Feld „NFC::Timeout“ angegebenen Timeout-Wertes. Nach dem Lesen des Tags werden die Daten des Tags in die im Unterscript „Parseergebnis“ angegebenen Felder gesetzt, das aus dem Unterscript „Scan Eins fertig“ aufgerufen wird.
Hauptscript: Scan Eins
Gehe zu Layout [ "NFC-Tag" ; Animation: Keine ]
NFC-Erkennung konfigurieren [ Aktion: Lesen ; Script: "Scan Eins fertig" ; Parameter: "Aktuelles Datum und Uhrezeit " & Hole ( SystemZeitstempel ) ; Timeout: NFC::Timeout ; Ergebnis als JSON formatieren: 1 ]
Unterscript 1: Scan Eins fertig
Variable setzen [ $ScriptParam ; Wert: Hole ( ScriptParameter ) ]
Script ausführen [ Angegeben: Aus Liste ; "Parseergebnis" ; Parameter: $ScriptParam ]
Eigenes Dialogfeld anzeigen: [ "NFC Scan fertig" ; $ScriptParam ]
Teilscript 2: Parseergebnis
Da Ergebnis als JSON formatieren im Scriptschritt „NFC-Erkennung konfigurieren“ im Script „Scan Eins“ auf einen Wert ungleich null gesetzt wird, analysiert das Script „Parseergebnis“ die Tag-Daten als JSON-Objekt.
Neuer Datensatz/Abfrage
Feldwert setzen [ NFC::Text ; Hole ( ScriptParameter ) ]
Feldwert setzen [ NFC::Tag ; JSONGetElement ( NFC::Text ; "payloads[0].primary" ) ]
Feldwert setzen [ NFC::PayloadCount ; JSONGetElement ( NFC::Text ; "payloadCount" ) ]
Feldwert setzen [ NFC::Ergebnis ; JSONGetElement ( NFC::Text ; "action" ) & JSONGetElement ( NFC::Text ; "error" ) ]
Feldwert setzen [ NFC::LeseZeitstempel ; Hole ( SystemZeitstempel ) ]
Feldwert setzen [ NFC::ID ; JSONGetElement ( NFC::Text ; "payloads[0].identifier" ) ]
Feldwert setzen [ NFC::Typ ; JSONGetElement ( NFC::Text ; "payloads[0].type" ) ]
Schreibe Änderung Datens./Abfrage [Mit Dialog: Aus]
Wenn Sie lieber mit einer mehrzeiligen Zeichenfolge arbeiten, setzen Sie die Option Ergebnis als JSON formatieren auf null. Ändern Sie dann das Script „Parseergebnis“ wie folgt:
Neuer Datensatz/Abfrage
Feldwert setzen [ NFC::Text ; Hole ( ScriptParameter ) ]
Feldwert setzen [ NFC::Tag ; HoleWert ( NFC::Text ; 6 ) ]
Feldwert setzen [ NFC::Personalzahl ; HoleWert ( NFC::Text ; 4 ) ]
Feldwert setzen [ NFC::Ergebnis ; HoleWert ( NFC::Text ; 1) & HoleWert ( NFC::Text ; 2 ) ]
Feldwert setzen [ NFC::LeseZeitstempel ; Hole ( SystemZeitstempel ) ]
Feldwert setzen [ NFC::ID ; HoleWert ( NFC::Text ; 5 ) ]
Feldwert setzen [ NFC::Typ ; HoleWert ( NFC::Text ; 7 ) ]
Schreibe Änderung Datens./Abfrage [Mit Dialog: Aus]
Beispiel 2
Leitet das Lesen mehrerer NFC-Tags ein und stoppt nach Erreichen des im Feld „NFC::Timeout“ angegebenen Timeout-Wertes oder wenn das Scannen abgebrochen wird. Beim Lesen der Tags werden die Daten im Tag in die im Unterscript „Parsergebnis“ angegebenen Felder gesetzt (siehe Beispiel 1).
Hauptscript: Mehrere scannen
NFC-Erkennung konfigurieren [ Aktion: Lesen ; Script: "Parseergebnis" ; Parameter: „Scannen startet um " & Hole ( SystemZeitstempel ) ; Timeout: NFC::Timeout ; Kontinuierliches Lesen: 1 ; Ergebnis als JSON formatieren: 1]
Gehe zu Layout [ "NFC Scan Liste" ; Animation: Keine ]
Beispiel 3
Leitet das Lesen eines Tags ein und versucht, eine URL zu öffnen, wenn der Typ des NFC-Datensatzes „U“ ist, was angibt, dass das Payload eine URL ist. Stoppt das Lesen nach Erreichen des im Feld „NFC::Timeout“ angegebenen Timeout-Wertes oder wenn das Scannen abgebrochen wird. Nach dem Lesen des Tags werden die Daten des Tags in die im Unterscript „Parseergebnis“ angegebenen Felder gesetzt (siehe Beispiel 1), das aus dem Unterscript „Öffnen aus Scan“ aufgerufen wird.
Hauptscript: Scannen und öffnen
NFC-Erkennung konfigurieren [ Aktion: Lesen ; Script: „Öffnen aus Scan" ; Parameter: „Scannen startet um " & Hole ( SystemZeitstempel ) ; Timeout: NFC::Timeout ; Ergebnis als JSON formatieren: 1 ]
Gehe zu Layout [ "NFC Scan Liste" ; Animation: Keine ]
Teilscript: Öffnen aus Scan
Variable setzen [ $ScriptParam ; Wert: Hole ( ScriptParameter ) ]
Script ausführen [ Angegeben: Aus Liste ; "Parseergebnis" ; Parameter: $ScriptParam ]
Schreibe Änderung Datens./Abfrage [Mit Dialog: Aus]
Wenn [ NFC::Typ = "U" ]
URL öffnen [ Mit Dialog: Ein ; NFC::Tag ]
Ende (wenn)