Configura lettura NFC
Esegue o arresta la scansione per i tag NFC (near field communication).
Vedere anche
Opzioni
- 
                                                
Azione specifica se avviare (Leggi) o arrestare (Annulla) la scansione per i tag NFC.
 
Le seguenti opzioni sono utilizzate solo per Leggi:
- 
                                                
Script specifica lo script da eseguire quando viene letto un tag, si verifica un errore, l'utente annulla l'operazione o l'operazione viene annullata da un'altra istruzione di script Configura NFC utilizzando l'opzione Annulla.
 - 
                                                
Parametro (opzionale) specifica un parametro di script per lo script.
 - 
                                                
Timeout (opzionale) annulla automaticamente l'operazione Leggi dopo il numero specificato di secondi.
 - 
                                                
Lettura continua (opzionale), se il valore è diverso da zero, imposta l'istruzione di script in modo che i tag vengano letti finché l'utente non tocca il pulsante Annulla, non si raggiunge il parametro di timeout o fino a quando non viene raggiunto il limite di tempo imposto dal sistema operativo. Se questa opzione è zero o non è specificata, viene letto solo un tag.
 - 
                                                
Risultato del formato come JSON (opzionale), se il valore è diverso da zero, fa ricevere allo Script i dati del tag NFC come un oggetto JSON. Se questa opzione è zero o non è specificata, riceve i dati come una stringa su più righe.
 
Compatibilità
| Prodotto | Supportata | 
| FileMaker Pro | No | 
| FileMaker Go | Sì | 
| FileMaker WebDirect | No | 
| FileMaker Server | No | 
| FileMaker Cloud | No | 
| FileMaker Data API | No | 
| Pubblicazione Web personalizzata | No | 
Creata nella versione
19.0
Descrizione
Utilizzare questa istruzione di script per eseguire o arrestare la scansione per i tag NFC programmati con una quantità ridotta di dati. Spesso i dati nei tag NFC corrispondono a un URL che utilizza protocolli come http, tel, fmp e mailto.
Per restituire i dati del tag NFC, è necessario richiamare la funzione Get ( ParametroScript ) nello script specificato nell'opzione Script. A seconda dell'impostazione di Risultato del formato come JSON, i dati del tag NFC vengono restituiti come un oggetto JSON o come una stringa a più righe.
La seguente tabella descrive ogni elemento nell'oggetto JSON e ogni riga della stringa a più righe. Per ulteriori informazioni sui parametri NFC, vedere la specifica NFC Data Exchange Format (NDEF):
| Elemento JSON | 
                                                         Numero riga stringa  | 
                                                    
                                                         Descrizione  | 
                                                
|---|---|---|
action
                                                     | 
                                                    
                                                         1  | 
                                                    
                                                         Il motivo per cui è stato richiamato lo script. Restituisce: 
  | 
                                                
error
                                                     | 
                                                    
                                                         2  | 
                                                    
                                                         Stringa di errore  | 
                                                
parameter
                                                     | 
                                                    
                                                         3  | 
                                                    
                                                         Parametro di script facoltativo specificato nella finestra di dialogo Specifica script  | 
                                                
payloadCount
                                                     | 
                                                    
                                                         4  | 
                                                    
                                                         Numero di record NFC letti dal tag  | 
                                                
payloads
                                                     | 
                                                    - | 
                                                         In JSON, una matrice di oggetti nelle righe seguenti, una per ciascun record NFC. In una stringa a più righe, le righe dalla 5 alla 8 vengono ripetute per ogni record NFC.  | 
                                                
identifier
                                                     | 
                                                    
                                                         5  | 
                                                    
                                                         Identificativo del record NFC  | 
                                                
primary
                                                     | 
                                                    
                                                         6  | 
                                                    
                                                         Payload del record NFC come stringa  | 
                                                
type
                                                     | 
                                                    
                                                         7  | 
                                                    
                                                         Tipo di record NFC  | 
                                                
typeNameFormat
                                                     | 
                                                    
                                                         8  | 
                                                    
                                                         Formato del nome del tipo del record NFC  | 
                                                
secondary
                                                     | 
                                                    - | Informazioni di payload aggiuntive, se presenti (solo JSON) | 
Questo è un esempio di dati di un tag NFC come oggetto JSON:
{
  "action" : "TagRead",
  "error" : "",
  "parameter" : "Parametro script facoltativo",
  "payloadCount" : 2,
  "payloads" : 
  [
    {
      "identifier" : "",
      "primary" : "Questo è il contentuto dalla scheda NFC.",
      "secondary" : "it",
      "type" : "T",
      "typeNameFormat" : 1
    },
    {
      "identifier" : "",
      "primary" : "https://esempio.com",
      "secondary" : "",
      "type" : "U",
      "typeNameFormat" : 1
    }
  ]
}
                                            
                                            
Questi sono gli stessi dati del tag NFC dati come stringa a più righe:
TagRead
Parametro script facoltativo
2
Questo è il contenuto dalla scheda NFC.
T
1
https://example.com
U
1
                                            Note
- 
                                                
È possibile eseguire solo un'operazione di lettura per volta. Se è in corso un'operazione di lettura quando viene eseguita un'operazione di annullamento, l'operazione di lettura viene annullata.
 - 
                                                
L’istruzione di script Apri URL può essere utilizzata per aprire un URL, ad esempio una ricevuta dalla lettura di un tag NFC.
 
Esempio 1
Avvia la lettura di un singolo tag NFC e l'arresta quando viene raggiunto il valore del timeout specificato nel campo NFC::Timeout. Dopo aver letto il tag, i dati nel tag vengono impostati nei campi specificati nel subscript Analizza risultato, richiamato dal subscript Scansione singola terminata.
Script principale: Scansione singola
Vai al formato ["Tag NFC"; Animazione: Nessuna]
Configura lettura NFC [Azione: Leggi; Script: "Scansione singola terminata"; Parametro: "La data e l'ora correnti sono " & Get ( IndicatoreDataOraCorrente ); Timeout: NFC::Timeout ; Risultato del formato come JSON: 1 ]
                                            Subscript 1: Scansione singola terminata
Imposta variabile [$paramScript; Valore: Get ( ParametroScript )]
Esegui script [Specificato: Da elenco; "Analizza risultato"; Parametro: $paramScript]
Mostra finestra personalizz. ["Scansione NFC terminata"; $paramScript]
                                            Subscript 2: Analizza risultato
Poiché Risultato del formato come JSON è impostato su un valore diverso da zero nell'istruzione di script Configura lettura NFC dello script Scansione singola, lo script Analizza risultato analizza i dati dei tag dati come oggetto JSON.
Nuovo record/richiesta
Imposta campo [NFC::Testo; Get ( ParametroScript )]
Imposta campo [NFC::Tag; JSONGetElement ( NFC::Testo; "payloads[0].primary" )]
Imposta campo [NFC::PayloadCount ; JSONGetElement ( NFC::Testo; "payloadCount" )]
Imposta campo [NFC::Risultato ; JSONGetElement ( NFC::Testo ; "action" ) & JSONGetElement ( NFC::Testo ; "error" )]
Imposta campo [NFC::IndicatoreDataOraLettura; Get ( IndicatoreDataOraCorrente )]
Imposta campo [NFC::ID ; JSONGetElement ( NFC::Testo ; "payloads[0].identifier" ) ]
Imposta campo [NFC::Tipo ; JSONGetElement ( NFC::Testo ; "payloads[0].type" )]
Salva record/richieste [Con finestra di dialogo: Disattivata]
                                            
                                            
Se si preferisce lavorare con una stringa a più righe, impostare l’opzione Risultato del formato come JSON su zero. Quindi modificare lo script Analizza risultato come segue:
Nuovo record/richiesta
Imposta campo [NFC::Testo; Get ( ParametroScript )]
Imposta campo [NFC::Tag; RicavaValore ( NFC::Testo ; 6 )]
Imposta campo [NFC::PayloadCount; RicavaValore ( NFC::Testo ; 4 )]
Imposta campo [NFC::Risultato; RicavaValore ( NFC::Testo ; 1 ) & RicavaValore ( NFC::Testo ; 2 )]
Imposta campo [NFC::IndicatoreDataOraLettura; Get ( IndicatoreDataOraCorrente )]
Imposta campo [NFC::ID; RicavaValore ( NFC::Testo ; 5 )]
Imposta campo [NFC::Tipo; RicavaValore ( NFC::Testo ; 7 )]
Salva record/richieste [Con finestra di dialogo: Disattivata]
                                            Esempio 2
Avvia la lettura di più tag e l'arresta quando viene raggiunto il valore del timeout specificato nel campo NFC::Timeout o se la scansione viene annullata. Dopo aver letto i tag, i dati nel tag vengono impostati nei campi specificati nel subscript Analizza risultato (vedere l’Esempio 1).
Script principale: Scansione multipla
Configura lettura NFC [Azione: Leggi; Script: "Analizza risultato"; Parametro: "Scansione avviata " & Get ( IndicatoreDataOraCorrente ); Timeout: NFC::Timeout; Lettura continua: 1 ; Risultato del formato come JSON: 1] 
Vai al formato ["Elenco scansioni NFC"; Animazione: Nessuna]
                                            Esempio 3
Avvia la lettura dei tag e tenta di aprire un URL se il tipo di record NFC è "U" a indicare che il payload è un URL. La scansione si arresta quando viene raggiunto il valore del timeout specificato nel campo NFC::Timeout o se la scansione viene annullata. Dopo aver letto il tag, i dati nel tag vengono impostati nei campi specificati nel subscript Analizza risultato (vedere l'Esempio 1), richiamato dal subscript Apri da scansione.
Script principale: Scansiona e apri
Configura lettura NFC [Azione: Leggi; Script: "Apri da scansione"; Parametro: "Scansione avviata " & Get ( IndicatoreDataOraCorrente ); Timeout: NFC::Timeout ; Risultato del formato come JSON: 1 ] 
Vai al formato ["Elenco scansioni NFC"; Animazione: Nessuna]
                                            Subscript: Apri da scansione
Imposta variabile [$paramScript; Valore: Get ( ParametroScript )]
Esegui script [Specificato: Da elenco; "Analizza risultato"; Parametro: $paramScript]
Salva record/richieste [Con finestra di dialogo: Disattivata]
If [ NFC::Tipo = "U" ]
    Apri URL [Con finestra di dialogo: Attivata; NFC::Tag] 
End If