Project Description
Proximity Tapper is a developer tool for working with NFC on both Windows Phone and Windows, and allows you to build NFC apps in the Windows Phone emulator.


The Windows Phone 8 emulator does not currently have any built-in official support for emulator NFC (Near Field Communication), but the Proximity Tapper tool plugs into the Windows Phone 8 emulator to simulate NFC and make it possible to test and develop NFC/Proximity-enabled Windows Phone 8 apps without phone hardware. The tapper tool supports "tapping" a pair of Windows Phone 8 emulators together as if they had physically been tapped, injecting NDEF messages into the connection (and allowing for "tapping" just a single emulator), as well as displaying all message traffic for diagnostic purposes.

Note that the Proximity Tapper tool is not officially supported, and it does not always accurately simulate the behavior of true NFC hardware.

Quick Start

VERY IMPORTANT: When first launching the tapper tool you will get a Windows Firewall prompt, you MUST select ALL 3 checkboxes and allow the tool through the firewall otherwise it will silently not work
  • After launching the quick start installer, make sure you follow the above instruction to select all 3 checkboxes on the firewall prompt. Also, the tapper tool must be installed and used on the same physical host machine as the Windows Phone emulators.
  • The tapper tool has 3 sections:
    • The top left lists the devices available. Any running Windows Phone emulators (must be running on the same physical host machine) should automatically show up in the list, for Windows machines running the simulator driver you may type the IP address or hostname in the textbox and click "add" to manually add them to the list.
    • The bottom left lists the active connections (taps). When you tap a pair of devices together (or a single device) the connection representing that tap is listed, but when you untap (equivalent of pulling the devices apart and breaking the NFC connection) the connection will disappear.
    • The right half of the screen is the message log and will show the transcript of all messages sent or received over the currently selected connection (select it in the list on the bottom left).

Tap a Pair of Phone Emulators Together

  • To simulate a pair of phones tapping together you'll need to launch a pair of Windows Phone 8 emulators. Since Visual Studio doesn't support running two identical emulators at the same time, you'll need to select different resolutions for each of the emulators to work around it. Within 10 seconds of an emulator being fully booted on the start screen, it should show up automatically in the tapper tool's devices list and be highlighted in green.
  • Once both emulators are running and green, multi-select both emulators in the devices list by holding CTRL and clicking each one to highlight both. Then click "Tap", this should add an entry in the connections list representing the tap connection.
  • To untap, select the connection to untap from the connections list and click "Untap"
  • Alternatively, there is a "Tap 1 sec untap" button that will automatically tap the device and untap automatically after 1 second (simulating what would be expected of a user in real life, they would only hold their phones together for a short time). Note however that currently the message log isn't available after the connection has been untapped.

Tap a Phone Emulator to a Simulated NFC "tag"

  • Follow the instructions above, except you only need to launch a single emulator and select only a single device from the devices list.
  • After you've clicked "Tap" to establish a connection with your single emulator you can now inject messages as if they came from a tag. The buttons on the bottom left allow you to send a URL, string message, or an arbitrary binary message from a file.

Tap With a Windows 8 Device

  • The Windows 8 Driver Kit (WDK) includes a driver sample that exposes the same protocol as the Windows Phone 8 emulator. You'll need to download the DDK, build that sample driver, install it on a Windows 8 device, then add the Windows 8 device's IP address or hostname to the devices list and tap it either with another Windows 8 device or with a Windows Phone 8 emulator.
WDK: http://msdn.microsoft.com/en-us/windows/hardware/gg487428.aspx

Getting Started Writing Proximity/NFC Apps

  • The APIs for Proximity/NFC are mostly identical between Windows 8 and Windows Phone 8. They're Windows RT-based which means you can use them from either C# or native C++ (and WWA on Windows 8)

Last edited Dec 12, 2012 at 9:55 PM by Alex288, version 7