kalapa_nfc_reader_sdk 1.0.2
kalapa_nfc_reader_sdk: ^1.0.2 copied to clipboard
A Flutter plugin designed to integrate with Kalapa's NFC Reader SDK, enabling seamless NFC functionality within Flutter applications.
Kalapa NFC Reader SDK for Flutter #
A Flutter plugin for integrating Kalapa's NFC Reader SDK, enabling NFC reading functionality for identity documents in Flutter applications.
Features #
- Check NFC support and status
- Read NFC data from identity documents
- UI and non-UI reading modes
- Customizable SDK appearance
- Support for both iOS and Android platforms
Installation #
Add this to your package's pubspec.yaml file:
dependencies:
kalapa_nfc_reader_sdk: ^1.0.1
Platform Setup #
Android #
Add the following permissions to your AndroidManifest.xml:
<uses-permission android:name="android.permission.NFC" />
<uses-feature android:name="android.hardware.nfc" android:required="false" />
iOS #
Add the following to your Info.plist:
<key>NFCReaderUsageDescription</key>
<string>App needs NFC Scan Usage</string>
<key>com.apple.developer.nfc.readersession.iso7816.select-identifiers</key>
<array>
<string>A0000002471001</string>
<string>A0000002472001</string>
<string>00000000000000</string>
</array>
<key>NSCameraUsageDescription</key>
<string>App will use your camera to take a photo.</string>
Usage #
Import the package #
import 'package:kalapa_nfc_reader_sdk/kalapa_nfc_reader_sdk.dart';
Initialize the SDK #
final _kalapaNfcReaderSdk = KalapaNfcReaderSdk();
Configure the SDK #
await _kalapaNfcReaderSdk.configureSDK(
backgroundColor: "#FFFFFF",
mainColor: "#62A583",
textColor: "#65657B",
btnTextColor: "#FFFFFF",
language: "vi",
customer: "",
regularFont: "",
mediumFont: "",
boldFont: "",
);
Check NFC Support #
bool isSupported = await _kalapaNfcReaderSdk.isNFCSupported();
bool isEnabled = await _kalapaNfcReaderSdk.isNFCEnabled();
Start NFC Reading with UI #
try {
String result = await _kalapaNfcReaderSdk.startWithUI();
print('NFC Data: $result');
} catch (e) {
print('Error: $e');
}
Start NFC Reading without UI #
String mrz = "Your MRZ data here";
try {
String result = await _kalapaNfcReaderSdk.startWithoutUI(mrz);
print('NFC Data: $result');
} catch (e) {
print('Error: $e');
}
Get SDK Version #
String version = await _kalapaNfcReaderSdk.getSDKVersion();
API Reference #
Methods #
| Method | Parameters | Return Type | Description |
|---|---|---|---|
configureSDK |
backgroundColor, mainColor, textColor, btnTextColor, language, customer, regularFont, mediumFont, boldFont | Future<bool> |
Configure SDK appearance and settings |
isNFCSupported |
- | Future<bool> |
Check if device supports NFC |
isNFCEnabled |
- | Future<bool> |
Check if NFC is enabled |
startWithUI |
- | Future<String> |
Start NFC reading with built-in UI |
startWithoutUI |
mrz (String) | Future<String> |
Start NFC reading without UI using MRZ data |
getSDKVersion |
- | Future<String> |
Get SDK version |
Configuration Parameters #
| Parameter | Type | Default | Description |
|---|---|---|---|
backgroundColor |
String | "#FFFFFF" | Background color in hex format |
mainColor |
String | "#62A583" | Main theme color in hex format |
textColor |
String | "#65657B" | Text color in hex format |
btnTextColor |
String | "#FFFFFF" | Button text color in hex format |
language |
String | "vi" | Language code ("vi" or "en") |
customer |
String | "" | Customer identifier |
regularFont |
String | "" | Regular font name |
mediumFont |
String | "" | Medium font name |
boldFont |
String | "" | Bold font name |
Example #
See the example directory for a complete sample app.
License #
Copyright © 2024 Kalapa. All rights reserved.