A React Native library for discovering nearby devices and exchanging data using Bluetooth Low Energy (BLE).
Discovery is a React Native library that enables apps to discover nearby devices using Bluetooth Low Energy (BLE) and exchange identifier values, functioning reliably in both foreground and background states. It provides a simple API for device discovery and advertising, making it ideal for proximity-based applications.
React Native developers building mobile applications that require proximity-based device discovery, such as social apps, multiplayer games, or location-aware services.
Developers choose Discovery for its straightforward API that abstracts BLE complexities, reliable foreground/background operation, and cross-platform consistency on iOS and Android.
Discover nearby devices using BLE.
Provides straightforward methods like `initialize` and `setShouldAdvertise` to handle BLE discovery without low-level complexities, as shown in the minimal example code.
Functions consistently in both foreground and background states, enabling proximity-based apps to work even when minimized, as stated in the key features.
Supports initializing and managing multiple UUIDs separately for different discovery sessions, evidenced by the API changes requiring UUID parameters for actions.
Offers customizable scan cycles with `setScanForSeconds` and `setWaitForSeconds` to follow Android best practices and conserve battery, as detailed in the API section.
Includes event emitters for real-time BLE state changes via `bleStateChanged`, allowing apps to react dynamically to Bluetooth availability.
Requires manual steps like dragging Xcode projects and editing Gradle files, which is more complex and error-prone compared to auto-linking in modern React Native.
The README notes a 'slight callback discrepancy between the iOS and Android libraries,' forcing developers to handle differences with conditional checks, as seen in the example code.
Only exchanges identifier values or usernames, not supporting larger data transfers, which restricts use cases to simple proximity detection rather than full BLE communication.
Version updates introduced significant API changes, such as requiring UUID parameters for methods that previously didn't need them, which could break existing implementations without clear migration paths.
🔥 A well-tested feature-rich modular Firebase implementation for React Native. Supports both iOS & Android platforms for all Firebase services.
React Native Local and Remote Notifications
Device Information for React Native iOS and Android
Native filesystem access for react-native
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.