NFC 읽기 구성
NFC(근거리 무선통신) 태그를 스캔하거나 스캔을 중단합니다.
다음도 참조하십시오.
옵션
-
동작은 NFC 태그 스캔을 시작(읽기)할지 또는 중단(취소)할지 지정합니다.
다음 옵션은 읽기 전용으로만 사용할 수 있습니다.
-
스크립트는 에러가 발생할 때 사용자가 작업을 취소하거나 취소 옵션을 사용하여 다른 NFC 구성 스크립트 단계로 작업을 취소하는 경우, 태그가 읽히면서 실행할 스크립트를 지정합니다.
-
매개 변수(선택사항)는 스크립트의 스크립트 매개 변수를 지정합니다.
-
타임아웃(선택사항)은 지정된 시간(초) 이후 자동으로 읽기 작업을 취소합니다.
-
계속 읽기(선택사항)는 값이 0이 아닌 경우, 사용자가 취소 버튼을 탭할 때까지, 타임아웃 매개 변수가 충족될 때까지 또는 운영 체제에서 설정된 제한 시간에 도달할 때까지 스크립트 단계가 태그를 읽도록 설정합니다. 이 옵션이 0이거나 지정되지 않은 경우에는 하나의 태그만 읽습니다.
-
JSON 형식의 포맷 결과(선택사항)는, 값이 0이 아닌 경우, 스크립트가 NFC 태그의 데이터를 JSON 대상체로 수신하도록 합니다. 이 옵션이 0이거나 지정되지 않은 경우 버전 다중 행 문자열로 데이터를 수신합니다.
호환성
제품 | 지원 |
FileMaker Pro | 아니요 |
FileMaker Go | 예 |
FileMaker WebDirect | 아니요 |
FileMaker Server | 아니요 |
FileMaker Cloud | 아니요 |
FileMaker Data API | 아니요 |
사용자 설정 웹 발행 | 아니요 |
다음 버전에서 시작됨
19.0
설명
이 스크립트 단계를 사용하여 소량의 데이터로 프로그램된 NFC 태그를 스캔하거나 스캔을 중단할 수 있습니다. NFC 태그의 데이터는 보통 http, tel, fmp 및 mailto와 같은 프로토콜을 사용하는 URL입니다.
Get(스크립트 매개 변수) 함수는 NFC 태그의 데이터를 반환하기 위해 스크립트 옵션에서 지정된 스크립트에 호출되어야 합니다. JSON 형식의 포맷 결과의 설정에 따라, NFC 태그의 데이터는 JSON 대상체 또는 다중 행 문자열로 반환됩니다.
다음 표에서는 JSON 대상체의 각 요소와 다중 행 문자열의 각 행을 설명합니다. NFC 매개 변수에 관한 정보를 더 알아보려면 NFC 데이터 교환 포맷(NDEF) 기술 사양을 참조하십시오.
JSON 요소 |
문자열 줄 번호 |
설명 |
---|---|---|
action
|
1 |
스크립트 호출 이유입니다. 반환 결과:
|
error
|
2 |
오류 문자열 |
parameter
|
3 |
스크립트 지정 대화상자에서 지정된 선택적 스크립트 매개 변수 |
payloadCount
|
4 |
태그에서 읽은 NFC 레코드의 수 |
payloads
|
- |
JSON에서 각 NFC 레코드에 대해 하나씩, 다음 행에 있는 개체의 배열입니다. 다중 행 문자열에서 각 NFC 레코드에 대해 5~8행이 반복됩니다. |
identifier
|
5 |
NFC 레코드의 식별자 |
primary
|
6 |
NFC 레코드의 페이로드를 문자열로 사용 |
type
|
7 |
NFC 레코드의 유형 |
typeNameFormat
|
8 |
NFC 레코드의 유형 이름 포맷 |
secondary
|
- | 추가 페이로드 정보(있는 경우)(JSON만 해당) |
NFC 태그의 데이터를 JSON 대상체로 나타낸 예입니다.
{
"action" : "TagRead",
"error" : "",
"parameter" : "선택적 스크립트 매개 변수",
"payloadCount" : 2,
"payloads" :
[
{
"identifier" : "",
"primary" : "NFC 카드의 콘텐츠입니다.",
"secondary" : "ko",
"type" : "T",
"typeNameFormat" : 1
},
{
"identifier" : "",
"primary" : "https://example.com",
"secondary" : "",
"type" : "U",
"typeNameFormat" : 1
}
]
}
다음은 다중 행 문자열과 동일한 NFC 태그 데이터입니다.
TagRead
선택적 스크립트 매개 변수
2
NFC 카드의 콘텐츠입니다.
T
1
https://example.com
U
1
참고
-
한 번에 하나의 읽기 작업만이 진행 중일 수 있습니다. 읽기 작업 진행 중에 취소 작업이 실행되면 읽기 작업은 취소됩니다.
-
URL 열기 스크립트 단계는 NFC 태그를 읽어서 수신한 URL과 같은 URL을 여는 데 사용할 수 있습니다.
예제 1
단일 NFC 태그 읽기를 시작하며 NFC::타임아웃 필드에서 지정된 타임아웃 값에 도달하면 중단합니다. 태그를 읽은 후에는 태그의 데이터가 구문 분석 결과 하위 스크립트에 지정된 필드에 설정됩니다. 이 필드는 스캔 1 완료 하위 스크립트에서 호출됩니다.
주 스크립트: 스캔 1
레이아웃으로 이동 ["NFC 태그" ; 애니메이션: 없음 ]
NFC 읽기 구성 [ 동작: 읽기 ; 스크립트: "스캔 1 완료" ; 매개 변수: "현재 날짜 및 시간은 " & Get(현재 타임스탬프) ; 타임아웃: NFC::타임아웃 ; JSON 형식의 포맷 결과: 1 ]
하위 스크립트 1: 스캔 1 완료
변수 설정 [ $scriptParam ; 값: Get(스크립트 매개 변수) ]
스크립트 수행 [ 지정됨: 목록에서 ; "구문 분석 결과" ; 매개 변수: $scriptParam ]
사용자 설정 대화상자 보기: [ "NFC 스캔 완료" ; $scriptParam ]
하위 스크립트 2: 구문 분석 결과
JSON 형식의 포맷 결과가 스캔 1 스크립트의 NFC 읽기 구성 스크립트 단계에서 0이 아닌 값으로 설정되었기 때문에 구문 분석 결과 스크립트는 태그 데이터를 JSON 대상체로 분석합니다.
새로운 레코드/요청
필드 설정 [ NFC::텍스트 ; Get(스크립트 매개 변수) ]
필드 설정 [ NFC::태그 ; JSONGetElement(NFC::텍스트 ; "payloads[0].primary") ]
필드 설정 [ NFC::페이로드 횟수 ; JSONGetElement(NFC::텍스트 ; "payloadCount") ]
필드 설정 [ NFC::결과 ; JSONGetElement(NFC::텍스트 ; "action") & JSONGetElement(NFC::텍스트 ; "error") ]
필드 설정 [ NFC::읽기 타임스탬프 ; Get(현재 타임스탬프) ]
필드 설정 [ NFC::ID ; JSONGetElement(NFC::텍스트 ; "payloads[0].identifier") ]
필드 설정 [ NFC::유형 ; JSONGetElement(NFC::텍스트 ; "payloads[0].type") ]
레코드/요청 커밋 [ 대화상자 사용: 끔 ]
다중 행 문자열로 작업하려면 JSON 형식의 포맷 결과 옵션을 0으로 설정하십시오. 그런 다음 구분 문석 결과 스크립트를 다음과 같이 변경합니다.
새로운 레코드/요청
필드 설정 [ NFC::텍스트 ; Get(스크립트 매개 변수) ]
필드 설정 [ NFC::태그 ; GetValue(NFC::텍스트 ; 6) ]
필드 설정 [ NFC::페이로드 횟수 ; GetValue(NFC::텍스트 ; 4) ]
필드 설정 [ NFC::결과 ; GetValue(NFC::텍스트 ; 1) & GetValue(NFC::텍스트 ; 2) ]
필드 설정 [ NFC::읽기 타임스탬프 ; Get(현재 타임스탬프) ]
필드 설정 [ NFC::ID ; GetValue(NFC::텍스트 ; 5) ]
필드 설정 [ NFC::유형 ; GetValue(NFC::텍스트 ; 7) ]
레코드/요청 커밋 [ 대화상자 사용: 끔 ]
예제 2
다중 태그 읽기를 시작하며 NFC::타임아웃 필드에서 지정된 타임아웃 값에 도달하거나 스캔이 취소되는 경우에는 중단합니다. 태그를 읽을 때 태그의 데이터가 구문 분석 결과 하위 스크립트에 지정된 필드에 설정됩니다(예제 1 참조).
주 스크립트: 다중 스캔
NFC 읽기 구성 [ 동작: 읽기 ; 스크립트: "구문 분석 결과"; 매개 변수: "다음에서 스캔 시작 " & Get(현재 타임스탬프) ; 타임아웃: NFC::타임아웃; 계속 읽기: 1 ; JSON 형식의 포맷 결과: 1]
레이아웃으로 이동 [ "NFC 스캔 목록"; 애니메이션: 없음 ]
예제 3
NFC 레코드의 유형이 "U"인 경우 태그 읽기를 시작하고 URL 열기를 시도하여 페이로드가 URL임을 나타냅니다. NFC::타임아웃 필드에서 지정된 타임아웃 값에 도달하거나 스캔이 취소되는 경우에는 스캔을 중단합니다. 태그를 읽은 후에는 태그의 데이터가 구문 분석 결과 하위 스크립트에 지정된 필드에 설정됩니다(예제 1 참조). 이 필드는 스캔에서 열기 하위 스크립트에서 호출됩니다.
주 스크립트: 스캔 및 열기
NFC 읽기 구성 [ 동작: 읽기 ; 스크립트: "스캔에서 열기" ; 매개 변수: "다음에서 스캔 시작 " & Get(현재 타임스탬프) ; 타임아웃: NFC::타임아웃 ; JSON 형식의 포맷 결과: 1 ]
레이아웃으로 이동 [ "NFC 스캔 목록"; 애니메이션: 없음 ]
하위 스크립트: 스캔에서 열기
변수 설정 [ $scriptParam ; 값: Get(스크립트 매개 변수) ]
스크립트 수행 [ 지정됨: 목록에서 ; "구문 분석 결과" ; 매개 변수: $scriptParam ]
레코드/요청 커밋 [ 대화상자 사용: 끔 ]
If [ NFC::유형 = "U" ]
URL 열기 [ 대화상자 사용: 켬 ; NFC::태그]
End If