Java MIT

react-native-nfc-manager

React Native NFC module for Android & iOS

R

revtel

Dernière activité 29 sept. 2026
revtel/react-native-nfc-manager

1,6 k

étoiles

348

forks

16

issues ouvertes

androidiosnfcreact-native

Ce README est souvent en anglais.

react-native-nfc-manager

npm version CI

NFC for React Native, built for the New Architecture and Expo Development Builds.

Requires React Native 0.76+ with the New Architecture. Use an NFC-capable physical device to test scans.

Installation

npm install react-native-nfc-manager@beta

v4 is currently beta. Pin the resolved version for reproducible installs. See migration when upgrading an existing app.

Expo Development Builds

Expo Go cannot load this native module. Add the config plugin to app.json:

{
  "expo": {
    "plugins": ["react-native-nfc-manager"]
  }
}

Install the development client and build the native app:

npx expo install expo-dev-client
npx expo prebuild
npx expo run:ios --device
# Or: npx expo run:android --device
npx expo start --dev-client

Rebuild after changing native dependencies or plugin options. For iOS capabilities and plugin options, see Expo setup.

React Native CLI

Read an NDEF tag

Call this function from a user action. It prevents overlapping scans and awaits cleanup before allowing another request.

import NfcManager, {NfcTech} from 'react-native-nfc-manager';

let scanning = false;

async function readNdef() {
  if (scanning) return;
  scanning = true;
  let requestAttempted = false;
  try {
    await NfcManager.start();
    requestAttempted = true;
    await NfcManager.requestTechnology(NfcTech.Ndef);
    const tag = await NfcManager.getTag();
    console.log('NDEF records', tag?.ndefMessage ?? []);
  } catch (error) {
    console.warn('NFC scan ended', error);
  } finally {
    try {
      if (requestAttempted) {
        await NfcManager.cancelTechnologyRequest();
      }
    } catch (cleanupError) {
      console.warn('NFC cleanup failed', cleanupError);
    } finally {
      scanning = false;
    }
  }
}

For a complete React screen and session lifecycle, see reading NDEF tags.

Technology support

Technology Android iOS
NDEF, NFC-A, ISO-DEP ✅ ✅
NFC-V / ISO 15693 NfcV Iso15693IOS
MIFARE MifareClassic, MifareUltralight MifareIOS
FeliCa NfcF FelicaIOS

See the full technology and handler table. Actual tag support depends on the device and OS.

Documentation

Start with the v4 documentation index.

Examples and contributing

The development example exercises the New Architecture API. Contributing includes build instructions and the NFC ReWriter app.

Created by whitedogg13.

Projets similaires

Flutter NFC reader plugin for iOS and Android

Kotlinandroidflutterflutter-plugin
Ddotintent
445 étoiles210

A Flutter plugin providing access to NFC features on Android and iOS.

Dartdartflutterflutter-plugin
Ookadan
250 étoiles218

NFC open reader app in React Native

JavaScript
Rrevtel
265 étoiles99