NFC 태그를 읽고 쓰기 위해 iOS 또는 Android 기기 내부의 내부 하드웨어를 사용하려는 개발자를 돕는 새로운 Flutter 플러그인입니다.
시스템은 태그가 인식되면 자동으로 중지되는 풀링 읽기 세션을 활성화합니다. 전용 기능을 사용하여 수동으로 중지 이벤트를 트리거할 수도 있습니다.
플랫폼 | 지원되는 NFC 태그 |
---|---|
기계적 인조 인간 | NDEF: A, B, F, V, 바코드 |
iOS | NDEF: NFC 유형 1, 2, 3, 4, 5 |
pubspec.yaml에 추가:
종속성: flutter_nfc_reader: ^0.2.0
또는 실험적인 것을 얻으려면 다음을 수행하십시오.
종속성: flutter_nfc_reader:git: URL: git://github.com/matteocrippa/flutter-nfc-reader.git 참조: 개발
그런 다음 쉘을 실행하십시오.
flutter 패키지 가져오기
프로젝트로 마지막 단계 가져오기:
import '패키지:flutter_nfc_reader/flutter_nfc_reader.dart';
상단의 AndroidManifest.xml
에 두 줄을 추가하세요.
<uses-permission android:name="android.permission.NFC" /> <uses-featureandroid:name="android.hardware.nfc"android:required="true" />
build.gradle (Module: app)
의 minSdkVersion에 19를 할당합니다.
기본 구성 {... minSdk버전 19... }
Atm Swift
기반 Flutter 프로젝트만 지원됩니다.
기능/근거리 무선 통신 태그 읽기를 활성화합니다.
Info.plist 파일에 개인 정보 보호 - 문자열 값 NFC 태그가 포함된 NFC 스캔 사용 설명을 추가합니다.
Podfile의 상단에 이 코드를 추가하세요.
플랫폼 :ios, '8.0'use_frameworks!
이 함수는 읽기가 발생할 때 읽기 세션이 열리는 바로 그 순간까지 약속을 반환합니다. Promise는 NfcData
모델을 반환하며 이 모델에는 다음이 포함됩니다.
FlutterNfcReader.read()
및 FlutterNfcReader.onTagDiscovered()
에는 instruction
이라는 iOS 전용 선택적 매개변수가 있습니다. 모달 화면에 표시할 정보가 포함된 문자열을 전달할 수 있습니다.
id > 태그의 id
내용 > 태그 내용
error > 오류가 발생하면
FlutterNfcReader.read().then((응답) {print(response.content); });
이 함수는 태그가 인식될 때마다 NfcData
내보내는 스트림을 반환합니다. Ios에서도 이것을 사용할 수 있지만 IOS는 NFC 태그를 스캔하려고 할 때 항상 하단 시트를 표시합니다. 따라서 두 번째 값이 필요할 때 FlutterNfcReader.read()
명시적으로 캐스팅해야 합니다. 스트림을 구독하면 읽기 함수가 처음으로 호출됩니다. 샘플 구현에 대한 예를 확인하세요.
FlutterNfcReader.onTagDiscovered().listen((onData) { print(onData.id); print(onData.content); });
이 함수는 쓰기가 발생할 때 읽기 세션이 열리는 바로 그 순간까지 약속을 반환합니다. Promise는 NfcData
모델을 반환하며 이 모델에는 다음이 포함됩니다.
내용> 태그에 기록됨
FlutterNfcReader.write("path_prefix","태그 콘텐츠").then((응답) {print(response.content); });
다음과 같이 위의 기능을 사용하여 nfc 태그를 읽고 쓸 수 있습니다.
FlutterNfcReader.read().then((readResponse) {FlutterNfcReader.write(" ",readResponse.content).then((writeResponse) {print('writed: ${writeResponse.content}'); }); });
상태 > ncf 읽기 또는 쓰기 중지 상태
FlutterNfcReader.stop().then((response) {print(response.status.toString()); });
더 자세한 내용은 데모 앱을 확인하세요.
장치가 NFC를 지원하는지 여부를 확인하려면 FlutterNfcReader.checkNFCAvailability()
호출하면 됩니다. 이 메서드는 NFC가 지원 및 활성화된 경우 NFCAvailability.available
반환하고, NFC가 비활성화된 경우(Android만 해당) NFCAvailability.disabled
반환하며, 사용자 하드웨어가 NFC를 지원하지 않는 경우 NFCAvailability.not_supported
반환합니다.
IOS는 NFC 스캔 및 쓰기 측면에서 약간 다르게 작동합니다.
현재 구현에서는 태그 ID가 불가능합니다.
각 스캔은 바텀 시트를 통해 사용자에게 표시됩니다.
Flutter를 시작하는 데 도움이 필요하면 온라인 설명서를 참조하세요.
플러그인 코드 편집에 대한 도움말은 설명서를 참조하세요.
먼저 기여 가이드라인을 간단히 살펴보시기 바랍니다. 여기에 더 이상 유지 관리되지 않거나 적합하지 않은 패키지나 프로젝트가 있으면 이 파일을 개선하기 위해 끌어오기 요청을 제출하세요. 모든 기여자에게 감사드립니다!!
iOS에서 개발하려면 Flutter의 다음 문제로 인해 "레거시" 빌드 시스템을 활성화해야 합니다.
설레다/설레다#20685