Configurer lecture du protocole NFC
Recherche ou cesse de rechercher les balises NFC (Near Field Communication).
Voir aussi
Options
-
Action indique le démarrage (Lire) ou l'arrêt (Annuler) de la lecture des balises NFC.
Les options suivantes sont utilisées uniquement pour l'action Lire :
-
Script indique le script à exécuter lorsqu'une balise est lue, lorsqu'une erreur se produit, si l'utilisateur annule l'opération ou si l'opération est annulée par une autre action de script Configurer lecture du protocole NFC à l'aide de l'option Annuler.
-
Paramètre (facultatif) spécifie un paramètre de script pour le script.
-
Expiration (facultatif) annule automatiquement l'opération Lire après le nombre de secondes spécifié.
-
Lecture continue (facultatif), si la valeur est différente de zéro, indique la lecture des balises jusqu'à ce que l'utilisateur appuie sur le bouton Annuler, jusqu'à ce que le paramètre Délai soit atteint ou jusqu'à ce que le délai maximal imposé par le système d'exploitation est atteint. Si cette option a une valeur zéro ou n'est pas spécifiée, une seule balise est lue.
-
Résultat au format JSON (facultatif), si la valeur est différente de zéro, force l'option Script à recevoir les données de la balise NFC sous forme d'objet JSON. Si cette option a une valeur de zéro ou n'est pas spécifiée, elle reçoit les données sous forme de chaîne multiligne.
Compatibilité
Produit | Prise en charge |
FileMaker Pro | Non |
FileMaker Go | Oui |
FileMaker WebDirect | Non |
FileMaker Server | Non |
FileMaker Cloud | Non |
FileMaker Data API | Non |
Publication Web personnalisée | Non |
Provient de la version
19.0
Description
Utilisez cette action de script pour démarrer ou arrêter la lecture des balises NFC, qui sont programmées avec une petite quantité de données. Les données contenues dans une balise NFC sont souvent une URL qui utilise des protocoles, tels que http, tel, fmp et mailto.
La fonction Obtenir ( ParamètreScript ) doit être appelée dans l'option Script spécifiée afin de renvoyer les données de la balise NFC. Selon la configuration de l'option Résultat au format JSON, les données de la balise NFC sont renvoyées sous forme d'objet JSON ou de chaîne multiligne.
Le tableau suivant décrit chaque élément de l'objet JSON et chaque ligne de la chaîne multiligne. Pour plus d'informations sur les paramètres NFC, consultez la spécification NDEF (NFC Data Exchange Format) :
Elément JSON |
Numéro de ligne de la chaîne |
Description |
---|---|---|
action
|
1 |
Raison pour laquelle le script a été appelé Résultat :
|
error
|
2 |
Chaîne d'erreur |
parameter
|
3 |
Paramètre de script facultatif spécifié dans la boîte de dialogue Définir le script |
payloadCount
|
4 |
Nombre d'enregistrements NFC lus depuis la balise |
payloads
|
- |
Dans JSON, un tableau des objets dans les lignes suivantes, une pour chaque enregistrement NFC. Dans une chaîne multigne, les lignes 5 à 8 sont répétées pour chaque enregistrement NFC. |
identifier
|
5 |
Identifiant de l'enregistrement NFC |
primary
|
6 |
Charge utile de l'enregistrement NFC sous forme de chaîne |
type
|
7 |
Type d'enregistrement NFC |
typeNameFormat
|
8 |
Format de nom du type d'enregistrement NFC |
secondary
|
- | Informations supplémentaires sur la charge utile, le cas échéant (JSON uniquement) |
Voici un exemple de données d'une balise NFC sous forme d'objet JSON :
{
"action" : "TagRead",
"error" : "",
"parameter" : "Paramètre de script facultatif",
"payloadCount" : 2,
"payloads" :
[
{
"identifier" : "",
"primary" : "Il s'agit du contenu de la carte NFC.",
"secondary" : "en",
"type" : "T",
"typeNameFormat" : 1
},
{
"identifier" : "",
"primary" : "https://exemple.com",
"secondary" : "",
"type" : "U",
"typeNameFormat" : 1
}
]
}
Voici les mêmes données de balise NFC sous forme de chaîne multiligne :
TagRead
Paramètre de script facultatif
2
Il s'agit du contenu de la carte NFC.
T
1
https://exemple.com
U
1
Remarques
-
Une seule opération Lire peut être en cours. Si une opération Lire est en cours lorsqu'une opération Annuler est exécutée, l'opération Lire est annulée.
-
L'action de script Ouvrir URL peut être utilisée pour ouvrir une URL, telle que celle reçue lors de la lecture d'une balise NFC.
Exemple 1
Lance la lecture d'une balise NFC et l'arrête après avoir atteint la valeur de délai indiquée dans la rubrique NFC::Délai. Une fois la balise lue, les données de la balise sont définies dans les rubriques spécifiées dans le sous-script Analyser le résultat, qui est appelé depuis le sous-script Lecture unique terminée.
Script principal : Lecture unique
Activer modèle [ "Balise NFC" ; Animation: Aucune ]
Configurer lecture du protocole NFC [ Action : Lire ; Script ; "Lecture unique terminée" ; Paramètre: "La date et l'heure actuelles sont " & Obtenir ( HorodatageActuel ) ; Expiration: NFC::Délai ; Résultat au format JSON: 1 ]
Sous-script 1 : Lecture unique terminée
Définir variable [ $scriptParam ; Valeur: Obtenir ( ParamètreScript ) ]
Exécuter script [ Spécifique: Dans la liste; "Analyser le résultat" ; Paramètre: $scriptParam ]
Ouvrir boîte dial. person.: [ "Lecture NFC terminée" ; $scriptParam ]
Sous-script 2 : Analyser le résultat
Comme l'option Résultat au format JSON est définie sur une valeur différente de zéro dans l'action de script Configurer lecture du protocole NFC du script Lecture unique, le script Analyser le résultat analyse les données de la balise en tant qu'objet JSON.
Nouvel enreg./requête
Définir rubrique [ NFC::Texte ; Obtenir ( ParamètreScript ) ]
Définir rubrique [ NFC::Balise ; JSONGetElement ( NFC::Texte ; "payloads[0].primary" ) ]
Définir rubrique [ NFC::NombreChargesUtiles ; JSONGetElement ( NFC::Texte ; "payloadCount" ) ]
Définir rubrique[ NFC::Résultat ; JSONGetElement ( NFC::Texte ; "action" ) & JSONGetElement ( NFC::Texte ; "error" ) ]
Définir rubrique [ NFC::HorodatageLecture ; Obtenir ( HorodatageActuel ) ]
Définir rubrique [ NFC::ID ; JSONGetElement ( NFC::Texte ; "payloads[0].identifier" ) ]
Définir rubrique [ NFC::Type ; JSONGetElement ( NFC::Texte ; "payloads[0].type" ) ]
Valider enreg./requêtes [ Avec fenêtre: Non ]
Si vous préférez utiliser une chaîne multiligne, définissez l'option Résultat au format JSON sur zéro. Puis, modifiez le script Analyser le résultat comme suit :
Nouvel enreg./requête
Définir rubrique [ NFC::Texte ; Obtenir ( ParamètreScript ) ]
Définir rubrique [ NFC::Balise ; ObtenirValeur ( NFC::Texte ; 6 ) ]
Définir rubrique [ NFC::NombreChargesUtiles ; ObtenirValeur ( NFC::Texte ; 4 ) ]
Définir rubrique [ NFC::Résultat ; ObtenirValeur ( NFC::Texte ; 1) & ObtenirValeur ( NFC::Texte ; 2 ) ]
Définir rubrique [ NFC::HorodatageLecture ; Obtenir ( HorodatageActuel ) ]
Définir rubrique [ NFC::ID ; ObtenirValeur ( NFC::Texte ; 5 ) ]
Définir rubrique [ NFC::Type ; ObtenirValeur ( NFC::Texte ; 7 ) ]
Valider enreg./requêtes [ Avec fenêtre: Non ]
Exemple 2
Lance la lecture de plusieurs balises NFC et l'arrête après avoir atteint la valeur de délai indiquée dans la rubrique NFC::Délai ou si la lecture est annulée. Alors que les balises sont lues, les données de la balise sont définies dans les rubriques spécifiées dans le sous-script Analyser le résultat (consultez l'Exemple 1).
Script principal : Lecture multiple
Configurer lecture du protocole NFC [ Action : Lire ; Script ; "Analyser le résultat " ; Paramètre: "Début de la lecture à " & Obtenir ( HorodatageActuel ) ; Délai: NFC::Délai ; Lecture continue: 1 ; Résultat au format JSON: 1]
Activer modèle [ "Liste des lectures NFC" ; Animation: Aucune ]
Exemple 3
Lance la lecture des balises et tente d'ouvrir une URL si le type d'enregistrement NFC est «U », indiquant que la charge utile est une URL. Arrête la lecture après avoir atteint la valeur de délai indiquée dans la rubrique NFC::Délai ou si la lecture est annulée. Une fois la balise lue, les données de la balise sont définies dans les rubriques spécifiées du sous-script Analyser le résultat, (consultez l'Exemple 1), qui est appelé par le sous-script Ouvrir depuis la lecture.
Script principal : Lire et ouvrir
Configurer lecture du protocole NFC [ Action : Lire ; Script ; "Ouvrir depuis la lecture" ; Paramètre: "Début de la lecture à " & Obtenir ( HorodatageActuel ) ; Délai: NFC::Délai ; Résultat au format JSON: 1 ]
Activer modèle [ "Liste des lectures NFC" ; Animation: Aucune ]
Sous-script : Ouvrir depuis la lecture
Définir variable [ $scriptParam ; Valeur: Obtenir ( ParamètreScript ) ]
Exécuter script [ Spécifique: Dans la liste; "Analyser le résultat" ; Paramètre: $scriptParam ]
Valider enreg./requêtes [ Avec fenêtre: Non ]
Si [ NFC::Type = "U" ]
Ouvrir URL [ Avec boîte de dialogue: Oui ; NFC::Balise ]
Fin de si