Konfigurera NFC-läsning
Söker efter eller slutar söka efter NFC-taggar (Near Field Communication).
Tillval
-
Åtgärd anger om sökningen efter NFC-taggar ska startas (Läs) eller avslutas (Avbryt).
Följande tillval används enbart för Läs:
-
Script anger vilket script som ska köras när en tagg avläses, när ett fel uppstår, om användaren avbryter åtgärden eller om åtgärden avbryts av en annan instans av scriptsteget Konfigurera NFC som använder tillvalet Avbryt.
-
Parameter (inte obligatoriskt) anger en scriptparameter för scriptet.
-
Timeout (inte obligatoriskt) avbryter automatiskt läsåtgärden efter angivet antal sekunder.
-
Kontinuerlig läsning (inte obligatoriskt) anger, om värdet inte är noll, att scriptsteget ska läsa taggar tills användaren trycker på knappen Avbryt, tills parametern Timeout uppfylls eller tills operativsystemets tidsgräns nås. Om det här tillvalet är noll eller inte anges läses endast en tagg.
-
Formatera resultat som JSON (inte obligatoriskt) gör, om värdet inte är noll, att Script tar emot NFC-taggens data som ett JSON-objekt. Om det här tillvalet är noll eller inte har angetts tas data emot som en flerradig sträng.
Kompatibilitet
Produkt | Stöds |
FileMaker Pro | Nej |
FileMaker Go | Ja |
FileMaker WebDirect | Nej |
FileMaker Server | Nej |
FileMaker Cloud | Nej |
FileMaker Data API | Nej |
Anpassad webbpublicering | Nej |
Ursprungsversion
19.0
Beskrivning
Använd det här scriptsteget för att söka efter eller sluta söka efter NFC-taggar, som är programmerade med små datamängder. Data i NFC-taggar är ofta en URL som använder protokoll som http, tel, fmp och mailto.
I det script som anges i tillvalet Script måste Funktionen Get ( Scriptparameter ) anropas för att återgå till NFC-taggens data. Beroende på inställningen av Formatera resultat som JSON returneras NFC-taggens data antingen som ett JSON-objekt eller som en flerradig sträng.
Tabellen nedan beskriver varje element i JSON-objektet och varje rad i den flerradiga strängen. Mer information om NFC-parametrar finns i specifikationen för NFC Data Exchange Format (NDEF).
JSON-element |
Radnummer i strängen |
Beskrivning |
---|---|---|
action
|
1 |
Anledningen till att scriptet anropades. Returnerar:
|
error
|
2 |
Felsträng |
parameter
|
3 |
Icke-obligatorisk scriptparameter som anges i dialogrutan Ange script |
payloadCount
|
4 |
Antal NFC-poster som lästes från taggen |
payloads
|
- |
I JSON, en matris av objekten på följande rader, en för varje NFC-post. I en flerradig sträng upprepas rad 5 till 8 för varje NFC-post. |
identifier
|
5 |
NFC-postens identifierare |
primary
|
6 |
NFC-postens nyttolast som en sträng |
type
|
7 |
NFC-postens typ |
typeNameFormat
|
8 |
NFC-postens typnamnsformat |
secondary
|
- | Ytterligare nyttolastinformation, om sådan finns (endast JSON) |
Det här är ett exempel på en NFC-taggs data som JSON-objekt:
{
"action" : "TagRead",
"error" : "",
"parameter" : "Valfri scriptparameter",
"payloadCount" : 2,
"payloads" :
[
{
"identifier" : "",
"primary" : "Det här är innehållet från NFC-kortet.",
"secondary" : "en",
"type" : "T",
"typeNameFormat" : 1
},
{
"identifier" : "",
"primary" : "https://exempel.com",
"secondary" : "",
"type" : "U",
"typeNameFormat" : 1
}
]
}
Det här är samma NFC-taggs data som flerradig sträng:
TagRead
Valfri scriptparameter
2
Det här är innehållet från NFC-kortet.
T
1
https://exempel.com
U
1
Kommentarer
-
Endast en läsåtgärd kan pågå åt gången. Om en läsåtgärd pågår när åtgärden avbryt utförs, avbryts läsåtgärden.
-
Scriptsteget Öppna URL kan användas för att öppna en URL, till exempel en som tas emot från en NFC-tagg.
Exempel 1
Initierar avläsning av en enskild NFC-tagg och slutar söka när tidsgränsen nåtts som anges i fältet NFC::Tidsgräns. När taggen har lästs anges data från taggen i de fält som angetts i delscriptet Tolka resultat, som anropas från delscriptet Läs in en klar.
Huvudscript: Läs in en
Gå till layout [ "NFC-tagg" ; Animering: Ingen ]
Konfigurera NFC-läsning [ Åtgärd: Läs ; Script: "Läs in en klar" ; Parameter: "Aktuellt datum och tid är " & Get ( AktuellTidsstämpel ) ; Timeout: NFC::Timeout ; Formatera resultat som JSON: 1 ]
Delscript 1: Läs in en klar
Ange variabel [ $scriptParam ; Värde: Get ( Scriptparameter ) ]
Utför script [ Angivet: Från lista ; "Tolka resultat" ; Parameter: $scriptParam ]
Visa anpassad dialogruta: [ "NFC-sökning klar" ; $scriptParam ]
Delscript 2: Tolka resultat
Eftersom Formatera resultat som JSON har angetts till ett annat värde än noll i scriptsteget Konfigurera NFC-läsning i scriptet Läs in en, tolkar scriptet Tolka resultat taggdata som ett JSON-objekt.
Ny post/sökpost
Tilldela fält [ NFC::Text ; Get ( Scriptparameter ) ]
Tilldela fält [ NFC::Tagg ; JSONGetElement ( NFC::Text ; "payloads[0].primary" ) ]
Tilldela fält [ NFC::AntalNyttolast ; JSONGetElement ( NFC::Text ; "payloadCount" ) ]
Tilldela fält [ NFC::Resultat ; JSONGetElement ( NFC::Text ; "action" ) & JSONGetElement ( NFC::Text ; "error" ) ]
Tilldela fält [ NFC::LäsTidsstämpel ; Get ( AktuellTidsstämpel ) ]
Tilldela fält [ NFC::ID ; JSONGetElement ( NFC::Text ; "payloads[0].identifier" ) ]
Tilldela fält [ NFC::Typ ; JSONGetElement ( NFC::Text ; "payloads[0].type" ) ]
Verkställ post/sökpost [Med dialogruta: Av]
Om du föredrar att arbeta med en flerradig sträng anger du tillvalet Formatera resultat som JSON till noll. Ändra sedan scriptet Tolka resultat så här:
Ny post/sökpost
Tilldela fält [ NFC::Text ; Get ( Scriptparameter ) ]
Tilldela fält [ NFC::Tagg ; GetValue ( NFC::Text ; 6 ) ]
Tilldela fält [ NFC::AntalNyttolast ; GetValue ( NFC::Text ; 4 ) ]
Tilldela fält [ NFC::Resultat ; GetValue ( NFC::Text ; 1) & GetValue ( NFC::Text ; 2 ) ]
Tilldela fält [ NFC::LäsTidsstämpel ; Get ( AktuellTidsstämpel ) ]
Tilldela fält [ NFC::ID ; GetValue ( NFC::Text ; 5) ]
Tilldela fält [ NFC::Typ ; GetValue ( NFC::Text ; 7) ]
Verkställ post/sökpost [Med dialogruta: Av]
Exempel 2
Initierar avläsning av flera NFC-taggar och slutar söka när tidsgränsen nåtts som anges i fältet NFC::Tidsgräns eller om sökningen avbryts. Allteftersom taggarna avläses anges data från taggarna i de fält som anges i delscriptet Tolka resultat (mer information finns i Exempel 1).
Huvudscript: Läs in flera
Konfigurera NFC-läsning [ Åtgärd: Läs ; Script: "Tolka resultat" ; Parameter: "Sökning startade " & Get ( AktuellTidsstämpel ) ; Timeout: NFC::Tidsgräns ; Kontinuerlig läsning: 1 ; Formatera resultat som JSON: 1]
Gå till layout [ "NFC-söklista"; Animering: Ingen ]
Exempel 3
Initierar taggläsning och försöker öppen en URL om NFC-postens typ är "U", vilket anger att nyttolasten är en URL. Sökningen avslutas när tidsgränsen som angetts i fältet NFC::Tidsgräns nås eller om sökningen avbryts. När taggen har lästs anges data från taggen i de fält som angetts i delscriptet Tolka resultat (mer information finns i Exempel 1), som anropas från delscriptet Öppna från inläsning.
Huvudscript: Läs in och öppna
Konfigurera NFC-läsning [ Åtgärd: Läs ; Script: "Öppna från inläsning" ; Parameter: "Sökning startade " & Get ( AktuellTidsstämpel ) ; Timeout: NFC::Timeout ; Formatera resultat som JSON: 1 ]
Gå till layout [ "NFC-söklista"; Animering: Ingen ]
Delscript: Öppna från inläsning
Ange variabel [ $scriptParam ; Värde: Get ( Scriptparameter ) ]
Utför script [ Angivet: Från lista ; "Tolka resultat" ; Parameter: $scriptParam ]
Verkställ post/sökpost [Med dialogruta: Av]
If [ NFC::Typ = "U" ]
Öppna URL [ Med dialogruta: På ; NFC::Tagg ]
End If