holy_beacon_sdk 0.2.0 copy "holy_beacon_sdk: ^0.2.0" to clipboard
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: BeaconDetection model 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() with scanForBeacons().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.flutter-io.cn
  • Updated homepage: Now points to correct GitHub repository structure
  • Fixed documentation links: No more 404 errors when accessing from pub.flutter-io.cn
  • Added comprehensive repository documentation: CONTRIBUTING.md, enhanced README.md

📚 Repository Structure #

✅ 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.dart
    • getRegisteredProfiles()listVerifiedBeacons()
    • onBeaconDetected.listen()beaconDetected.listen()
    • profile.nameprofile.displayName
    • isVerifiedByProfile_profileManager.isVerifiedBeacon(uuid)
  • UPDATED: Deprecated withOpacity() calls to withValues()
  • 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 onBeaconDetected para 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.dart to use dynamic profiles
  • Enhanced HolyBeaconScanner with profile management
  • Added comprehensive test suite for configurable system
  • Updated documentation and examples

📁 Nuevos Archivos #

  • lib/src/models/beacon_profile_manager.dart
  • example/lib/configurable_example.dart
  • test/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 intelligence
  • HolyBeaconScanner: BLE scanning service with Holy device priority
  • BeaconDevice models: 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 service
  • BeaconDevice - Comprehensive device model
  • BeaconScanConfig - Flexible scanning configuration
  • BeaconWhitelist - Advanced filtering system
  • PermissionManager - Cross-platform permission handling
  • BeaconUtils - 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
0
likes
120
points
253
downloads

Publisher

unverified uploader

Weekly Downloads

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.

Topics

#beacon #ibeacon #bluetooth #ble #holy

Documentation

API reference

License

MIT (license)

Dependencies

flutter, flutter_reactive_ble, permission_handler, shared_preferences

More

Packages that depend on holy_beacon_sdk

Packages that implement holy_beacon_sdk