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:

  • TagRead, wenn ein NFC-Tag gelesen wurde

  • CanceledByUser, wenn der Benutzer auf die Schaltfläche „Abbrechen“ getippt hat

  • CanceledByError, wenn ein Fehler aufgetreten ist

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:

Kopieren
{
  "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:

Kopieren
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

Kopieren
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

Kopieren
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.

Kopieren
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:

Kopieren
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

Kopieren
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

Kopieren
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

Kopieren
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)