Plugin flutter baru untuk membantu pengembang yang ingin menggunakan perangkat keras internal di dalam perangkat iOS atau Android untuk membaca dan menulis tag NFC.
Sistem mengaktifkan sesi pembacaan gabungan yang berhenti secara otomatis setelah tag dikenali. Anda juga dapat memicu acara stop secara manual menggunakan fungsi khusus.
Platform | Tag NFC yang didukung |
---|---|
Android | NDEF: A, B, F, V, BARCODE |
iOS | NDEF: NFC TIPE 1, 2, 3, 4, 5 |
Tambahkan ke pubspec.yaml:
ketergantungan: flutter_nfc_reader: ^0.2.0
atau untuk mendapatkan yang eksperimental:
ketergantungan: flutter_nfc_reader:git: url: git://github.com/matteocrippa/flutter-nfc-reader.git ref: mengembangkan
dan kemudian jalankan shellnya
paket flutter dapatkan
langkah terakhir mengimpor ke proyek:
impor 'paket:flutter_nfc_reader/flutter_nfc_reader.dart';
Tambahkan dua baris tersebut ke AndroidManifest.xml
Anda di atas
<menggunakan-izin android:name="android.permission.NFC" /> <uses-featureandroid:name="android.hardware.nfc"android:required="true" />
Tetapkan 19 di minSdkVersion di build.gradle (Module: app)
konfigurasi default {... minSdkVersi 19... }
Hanya proyek Flutter berbasis Swift
Atm yang didukung.
Aktifkan Kemampuan / Pembacaan Tag Komunikasi Jarak Dekat.
File Info.plist, tambahkan Privasi - Deskripsi Penggunaan Pemindaian NFC dengan nilai string Tag NFC.
Di Podfile Anda tambahkan kode ini di atas
platform :ios, '8.0'use_frameworks!
Fungsi ini akan mengembalikan janji ketika pembacaan terjadi, hingga saat itu sesi pembacaan dibuka. Janji tersebut akan mengembalikan model NfcData
, model ini berisi:
FlutterNfcReader.read()
dan FlutterNfcReader.onTagDiscovered()
memiliki parameter opsional, hanya untuk iOS , yang disebut instruction
. Anda dapat meneruskan String yang berisi informasi untuk ditampilkan di layar modal.
id > id dari tag
konten> konten tag
error > jika terjadi kesalahan
FlutterNfcReader.read().then((response) {print(response.content); });
fungsi ini akan mengembalikan Aliran yang memancarkan NfcData
setiap kali tag dikenali. Di Ios Anda juga dapat menggunakan ini tetapi IOS akan selalu menampilkan lembar terbawah ketika ingin memindai Tag NFC. Oleh karena itu, Anda perlu mentransmisikan FlutterNfcReader.read()
secara eksplisit saat Anda mengharapkan nilai kedua. Saat berlangganan aliran, fungsi baca dipanggil untuk pertama kalinya untuk Anda. Lihat Contoh untuk contoh implementasi.
FlutterNfcReader.onTagDiscovered().listen((onData) { print(onData.id); print(onData.content); });
Fungsi ini akan mengembalikan janji ketika terjadi penulisan, hingga saat itu sesi membaca dibuka. Janji tersebut akan mengembalikan model NfcData
, model ini berisi:
konten > ditulis di tag
FlutterNfcReader.write("path_prefix","tag konten").then((response) {print(response.content); });
Anda dapat membaca dan menulis dalam tag nfc menggunakan fungsi di atas sebagai berikut
FlutterNfcReader.read().then((readResponse) {FlutterNfcReader.write(" ",readResponse.content).then((writeResponse) {print('writed: ${writeResponse.content}'); }); });
status > status pembacaan atau penulisan ncf dihentikan
FlutterNfcReader.stop().then((response) {print(response.status.toString()); });
Untuk detail lebih baik, lihat aplikasi demo.
Untuk memeriksa apakah Perangkat mendukung NFC atau tidak, Anda dapat menghubungi FlutterNfcReader.checkNFCAvailability()
. Metode ini mengembalikan NFCAvailability.available
ketika NFC didukung dan diaktifkan, NFCAvailability.disabled
ketika NFC dinonaktifkan (khusus Android) dan NFCAvailability.not_supported
ketika perangkat keras pengguna tidak mendukung NFC.
IOS berperilaku sedikit berbeda dalam hal Pemindaian dan penulisan NFC.
Id tag tidak dimungkinkan dalam penerapan saat ini
setiap pemindaian dapat dilihat oleh pengguna dengan lembar terbawah
Untuk bantuan dalam memulai Flutter, lihat dokumentasi online kami.
Untuk bantuan dalam mengedit kode plugin, lihat dokumentasi.
Silakan lihat sekilas pedoman kontribusi terlebih dahulu. Jika Anda melihat paket atau proyek di sini yang tidak lagi dikelola atau tidak sesuai, silakan kirimkan permintaan penarikan untuk memperbaiki file ini. Terima kasih kepada semua kontributor!!
untuk mengembangkan di ios, Anda perlu mengaktifkan sistem pembangunan "warisan" karena masalah ini di flutter:
berdebar/berdebar#20685