Course Overview

Learn how to build mobile apps to interact with NFC tags

Project Source Code

Get the project source code below, and follow along with the lesson material.

Download Project Source Code

To set up the project on your local machine, please follow the directions provided in the README.md file. If you run into any issues with running the project source code, then feel free to reach out to the author in the course's Discord channel.

  • |

Lesson Transcript

  • [00:00 - 00:10] Hello, welcome to new light guide to NFC with React Native. In this course, we will explore NFC and React Native together.

  • [00:11 - 00:18] First, here is a little about me. My name is Richi and I will be your instructor during this course.

  • [00:19 - 00:33] I am also the author of React Native NFC Manager Library, which is widely adopted when people develop NFC applications with React Native. I am very happy to share my knowledge with you.

  • [00:34 - 00:46] NFC, as you might already know, is a wireless technology for short-range communication. It is already widely used in our daily life.

  • [00:47 - 00:55] Let's see some practical use cases. First is payment, Apple Pay and Samsung Pay, both use NFC.

  • [00:56 - 01:05] Transportation and ticketing system. For example, the Suica in Japan uses NFC.

  • [01:06 - 01:15] Access control and security systems. Lots of applications for this domain choose NFC to be their communication protocol.

  • [01:16 - 01:36] Even in gaming, Nintendo Amiibo also uses NFC to exchange data between the Ami ibo figure and Nintendo Switch. Among these use cases, we will focus on how to build mobile apps to interact with NFC tags.

  • [01:37 - 01:48] First, I will provide an overview of NFC technology in the next lesson. After that, we will build three apps along this course.

  • [01:49 - 02:05] App 1 is a game app to count how much time a user needs to scan five NFC tags. You will learn how to properly set up an NFC project and how to trigger the scanning.

  • [02:06 - 02:31] App 2 is about N-Def, which is the standard NFC data format, well supported by both iOS and Android, and can be used for almost any NFC tag. We will build an NFC reader/writer app to write specific links into NFC tags, so later on they can be used to trigger specific actions.

  • [02:32 - 02:44] For example, open an URL, make a phone call or send a message. At the end of this module, we will cover how to use deep links with NFC tags.

  • [02:45 - 03:05] App 3 is about low-level NFC programming, which directly manipulates the NFC tags internal memory and also uses proprietary NFC commands. The app we would like to build is called NFC Pokemon, which is a digital identity management platform.

  • [03:06 - 03:28] It can seal a specific Pokemon, for example, a Pikachu into an NFC tag. During building this app, we will also learn how to create digital signatures and use a proprietary password protection command to free our NFC Pokemon tags from attack.

  • [03:29 - 03:37] This course is for NFC beginners. So advanced topic will not be covered here.

  • [03:38 - 03:53] NFC, as derived from RFID, has lots of existing standards. We won't cover NFC operation mode other than reader mode, and we won't cover NFC tag types other than type 2.

  • [03:54 - 04:15] We will talk more about these terminologies in the next lesson. We won't show you every API and parameter for the React Native NFC library either, since our goal is to make you comfortable writing an NFC app rather than being an API reference.

  • [04:16 - 04:28] The basic understanding of React Native is required. A mobile phone with an NFC feature, because an NFC feature cannot be tested using simulator.

  • [04:29 - 04:40] If you are an iOS user, all iPhones come after iPhone 7 have NFC support. Please note that iPad doesn't have NFC, only iPhone does.

  • [04:41 - 04:57] On the other hand, if you are an Android user, you should check your phone's settings. For Android phones that have NFC support, you should be able to find the NFC related menu in your connectivity settings.

  • [04:58 - 05:11] And if you are an iPhone user, you will also need to enroll in the Apple Developer Program to test your app on your iPhone. Finally, you need some NFC tags.

  • [05:12 - 05:26] We choose NXP, NTAG, 213 or 215 for this course. These are the most used low-cost NFC tags and can be purchased easily from Amazon.

  • [05:27 - 05:33] In the next lesson, I will give you a more detailed introduction to NFC technology. I will see you there.

  • [05:34 - 05:58] Bye-bye. [ Silence ]

Hello, welcome to new light guide to NFC with React Native. In this course, we will explore NFC and React Native together. First, here is a little about me. My name is Richi and I will be your instructor during this course. I am also the author of React Native NFC Manager Library, which is widely adopted when people develop NFC applications with React Native. I am very happy to share my knowledge with you. NFC, as you might already know, is a wireless technology for short-range communication. It is already widely used in our daily life. Let's see some practical use cases. First is payment, Apple Pay and Samsung Pay, both use NFC. Transportation and ticketing system. For example, the Suica in Japan uses NFC. Access control and security systems. Lots of applications for this domain choose NFC to be their communication protocol. Even in gaming, Nintendo Amiibo also uses NFC to exchange data between the Ami ibo figure and Nintendo Switch. Among these use cases, we will focus on how to build mobile apps to interact with NFC tags. First, I will provide an overview of NFC technology in the next lesson. After that, we will build three apps along this course. App 1 is a game app to count how much time a user needs to scan five NFC tags. You will learn how to properly set up an NFC project and how to trigger the scanning. App 2 is about N-Def, which is the standard NFC data format, well supported by both iOS and Android, and can be used for almost any NFC tag. We will build an NFC reader/writer app to write specific links into NFC tags, so later on they can be used to trigger specific actions. For example, open an URL, make a phone call or send a message. At the end of this module, we will cover how to use deep links with NFC tags. App 3 is about low-level NFC programming, which directly manipulates the NFC tags internal memory and also uses proprietary NFC commands. The app we would like to build is called NFC Pokemon, which is a digital identity management platform. It can seal a specific Pokemon, for example, a Pikachu into an NFC tag. During building this app, we will also learn how to create digital signatures and use a proprietary password protection command to free our NFC Pokemon tags from attack. This course is for NFC beginners. So advanced topic will not be covered here. NFC, as derived from RFID, has lots of existing standards. We won't cover NFC operation mode other than reader mode, and we won't cover NFC tag types other than type 2. We will talk more about these terminologies in the next lesson. We won't show you every API and parameter for the React Native NFC library either, since our goal is to make you comfortable writing an NFC app rather than being an API reference. The basic understanding of React Native is required. A mobile phone with an NFC feature, because an NFC feature cannot be tested using simulator. If you are an iOS user, all iPhones come after iPhone 7 have NFC support. Please note that iPad doesn't have NFC, only iPhone does. On the other hand, if you are an Android user, you should check your phone's settings. For Android phones that have NFC support, you should be able to find the NFC related menu in your connectivity settings. And if you are an iPhone user, you will also need to enroll in the Apple Developer Program to test your app on your iPhone. Finally, you need some NFC tags. We choose NXP, NTAG, 213 or 215 for this course. These are the most used low-cost NFC tags and can be purchased easily from Amazon. In the next lesson, I will give you a more detailed introduction to NFC technology. I will see you there. Bye-bye. [ Silence ]