holy_beacon_sdk 0.2.0
holy_beacon_sdk: ^0.2.0 copied to clipboard
A lightweight Flutter SDK for scanning and detecting iBeacon devices. Simple, fast, and compatible with any Flutter project. Perfect for developers who need reliable beacon detection.
Changelog #
0.2.0 - 2024-12-19 #
๐ MAJOR REFACTOR - Universal Compatibility #
- BREAKING CHANGE: Simplified API for better compatibility
- FIXED: Removed hardcoded Flutter version dependency that caused build failures
- FIXED: Android Gradle compatibility issues with flutter_embedding_release
- REMOVED: Eddystone support (now focuses only on iBeacon for better performance)
- REMOVED: Complex dependencies that caused version conflicts
โจ New Simplified API #
- NEW:
HolyBeaconScanner.scanForBeacons()- Simple stream-based scanning - NEW:
BeaconDetectionmodel with essential beacon information - NEW: Universal compatibility with Flutter 3.0+ to 4.0
- NEW: Automatic permission handling
- NEW: Built-in distance calculation
๐ฏ Developer Experience #
- IMPROVED: Much simpler API - just 3 lines of code to start scanning
- IMPROVED: Better error handling and debugging
- IMPROVED: Lightweight - removed unnecessary dependencies
- IMPROVED: Compatible with any Flutter version 3.x
๐ฑ Platform Support #
- MAINTAINED: Android API 21+ support
- MAINTAINED: iOS 12+ support
- REMOVED: Web, Windows, macOS, Linux (mobile-only focus)
๐ง Example Usage #
final scanner = HolyBeaconScanner();
scanner.scanForBeacons(
targetUUIDs: ['FDA50693A4E24FB1AFCFC6EB07647825']
).listen((beacon) {
print('Found: ${beacon.uuid} at ${beacon.distance}m');
});
โ ๏ธ Migration Guide #
- Replace
HolyBeaconScanner().devices.listen()withscanForBeacons().listen() - Update imports - many utility classes have been removed
- Update target UUIDs format (no hyphens needed)
0.1.3 - 2024-12-19 #
๐ง Documentation #
- Fixed GitHub repository links: Corrected all broken URLs in pub.dev
- Updated homepage: Now points to correct GitHub repository structure
- Fixed documentation links: No more 404 errors when accessing from pub.dev
- Added comprehensive repository documentation: CONTRIBUTING.md, enhanced README.md
๐ Repository Structure #
- Repository: https://github.com/SanJinwoong/iBeacon-Official
- Homepage: https://github.com/SanJinwoong/iBeacon-Official/tree/feature/modulo-externo/holy_beacon_sdk
- Documentation: https://github.com/SanJinwoong/iBeacon-Official/blob/feature/modulo-externo/holy_beacon_sdk/README.md
- Issues: https://github.com/SanJinwoong/iBeacon-Official/issues
โ No Functional Changes #
- All beacon detection functionality remains identical
- BeaconProfileManager API unchanged
- HolyBeaconScanner behavior preserved
- Full backward compatibility maintained
0.1.2 - 2024-12-19 #
๐ง Bug Fixes & Polish #
- FIXED: Corrected method calls in
configurable_example.dartgetRegisteredProfiles()โlistVerifiedBeacons()onBeaconDetected.listen()โbeaconDetected.listen()profile.nameโprofile.displayNameisVerifiedByProfileโ_profileManager.isVerifiedBeacon(uuid)
- UPDATED: Deprecated
withOpacity()calls towithValues() - VERIFIED: All tests passing (7/8 - BLE test requires hardware)
- CONFIRMED: Full backward compatibility with original detection logic
โ Validation Complete #
- Same BLE detection logic as original project
- Full iBeacon and Eddystone parsing maintained
- All beacon properties returned (UUID, RSSI, major, minor, etc.)
- Cross-platform Android/iOS support intact
- Original performance characteristics preserved
0.1.1 - 2025-10-02 #
๐๏ธ MAJOR: Sistema Completamente Configurable #
- NEW:
BeaconProfileManager- Registro dinรกmico de cualquier UUID de beacon - NEW: Callbacks individuales
onBeaconDetectedpara detecciones especรญficas - NEW: Almacenamiento persistente con
SharedPreferences - NEW: APIs de gestiรณn:
registerVerifiedBeacon(),unregisterVerifiedBeacon(),clearVerifiedBeacons() - BREAKING: Eliminados UUIDs hardcodeados del parser
- ENHANCEMENT: El SDK ahora es universal - no limitado a dispositivos Holy
โจ Nuevas APIs #
// Registrar tus propios beacons
await profileManager.registerVerifiedBeacon('TU-UUID', 'Tu Beacon');
// Callbacks individuales
scanner.onBeaconDetected.listen((beacon) {
if (beacon.isVerifiedByProfile) {
print('ยกTu beacon detectado!');
}
});
๐ง Cambios Tรฉcnicos #
- Added dependency:
shared_preferences: ^2.3.3 - Refactored
beacon_parsers.dartto use dynamic profiles - Enhanced
HolyBeaconScannerwith profile management - Added comprehensive test suite for configurable system
- Updated documentation and examples
๐ Nuevos Archivos #
lib/src/models/beacon_profile_manager.dartexample/lib/configurable_example.darttest/beacon_configuration_test.dart
๐ฏ Impacto #
- Antes: Solo detectaba UUIDs Holy hardcodeados
- Despuรฉs: Cualquier desarrollador puede registrar sus UUIDs
- Backward Compatible: Cรณdigo existente sigue funcionando
0.1.0 #
โจ Initial Release - Core UUID Processor #
Features:
- ๐ง Core UUID Processor: Single and batch UUID processing with validation
- ๐ฏ Holy Device Detection: Intelligent categorization (Shun, Jin, Kronos)
- ๐ Trust Level System: Confidence scoring for device authenticity
- ๐ Format Conversion: Bytes to UUID, normalization, validation
- ๐ก๏ธ Error Handling: Comprehensive error types and messages
- ๐งช 100+ Tests: Complete test coverage for reliability
- ๐ BLE Scanning: Real-time iBeacon and Eddystone detection
- ๐ Holy Devices Prioritization: Automatic filtering and ranking
- ๐ฑ Cross-platform: Android & iOS support
- ๐ Permission Management: Automatic BLE/location permissions
Core Components:
UuidProcessor: Heart of the system - processes UUIDs with intelligenceHolyBeaconScanner: BLE scanning service with Holy device priorityBeaconDevicemodels: Comprehensive beacon data structures- Error handling with specific types and recovery suggestions
Integration Ready:
- Designed for larger systems as independent module
- Consistent API across all components
- Performance optimized for batch processing
- Memory efficient with minimal footprint
1.0.0 #
โจ Previous Release #
Features:
- ๐ Complete BLE beacon scanning for iBeacon and Eddystone protocols
- ๐ Holy devices prioritization system
- ๐ฏ Advanced filtering with configurable whitelists
- ๐ฑ Cross-platform support (Android & iOS)
- ๐ Automatic permission management
- ๐ ๏ธ Easy integration with simple API
- ๐ Real-time reactive streams for UI updates
- ๐ Detailed scanning statistics and metrics
Platforms:
- โ Android 5.0+ (API 21+)
- โ iOS 12.0+
Holy Device Support:
- Holy-Shun (FDA50693-A4E2-4FB1-AFCF-C6EB07647825)
- Holy-IOT Jin (E2C56DB5-DFFB-48D2-B060-D0F5A7100000)
- Kronos Blaze BLE (F7826DA6-4FA2-4E98-8024-BC5B71E0893E)
API Highlights:
HolyBeaconScanner- Main scanner serviceBeaconDevice- Comprehensive device modelBeaconScanConfig- Flexible scanning configurationBeaconWhitelist- Advanced filtering systemPermissionManager- Cross-platform permission handlingBeaconUtils- Utility functions for beacon operations
Example Integration:
final scanner = HolyBeaconScanner();
await scanner.initialize(config: BeaconScanConfig.holyOptimized());
scanner.devices.listen((devices) => updateUI(devices));
await scanner.startScanning();
Dependencies:
- flutter_reactive_ble: ^5.4.0
- permission_handler: ^11.4.0
Documentation:
- Complete API documentation
- Integration examples for Android & iOS
- Best practices guide
- Troubleshooting section