System.Beacon.Components.TCustomBeacon.OnParseManufacturerData
Delphi
property OnParseManufacturerData: TParseManufacturerDataEvent read FOnParseManufacturerData write FOnParseManufacturerData;
C++
__property System::Beacon::TParseManufacturerDataEvent OnParseManufacturerData = {read=FOnParseManufacturerData, write=FOnParseManufacturerData};
Propriétés
| Type | Visibilité | Source | Unité | Parent |
|---|---|---|---|---|
| event | public | System.Beacon.Components.pas System.Beacon.Components.hpp |
System.Beacon.Components | TCustomBeacon |
Description
Se produit lorsque le gestionnaire Bluetooth Low Energy détecte un périphérique, et vous permet d'analyser les données spécifiques au fabricant dans les données publicitaires du périphérique détecté.
Les périphériques Bluetooth Low Energy peuvent se publier eux-mêmes afin que d'autres périphériques Bluetooth Low Energy, tels que les vôtres, les détectent. Les beacons sont des périphériques Bluetooth Low Energy qui incluent des données spécifiques au fabricant dans leurs données publicitaires. Elles vous permettent de déterminer la distance entre le beacon et votre périphérique Bluetooth Low Energy.
Le format des données spécifiques au fabricant suit généralement l'un des deux standards très répandus, iBeacon ou AltBeacon. Le composant beacon prend en charge ces standards, et il peut analyser avec succès toute donnée spécifique au fabricant qui suit l'un des deux standards, tant que vous avez préalablement configuré le bon standard à utiliser.
Néanmoins, des beacons ne suivent pas ces standards et fournissent leurs données dans un format propriétaire. Si c'est le cas de vos beacons, vous pouvez implémenter un gestionnaire d'événement pour OnParseManufacturerData qui analyse les données entrantes spécifiques au fabricant et remplit un enregistrement des informations beacon.
Le gestionnaire d'événement de OnParseManufacturerData reçoit les paramètres suivants :
Senderest votre composant beacon.ADatareprésente les données spécifiques au fabricant issues des données publicitaires d'un périphérique Bluetooth Low Energy détecté.AData_Highest le nombre d'octets deAData.BeaconInfoest une instance de TBeaconInfo que vous devez remplir à partir des données deAData.Handleddétermine si votre gestionnaire d'événement a analysé correctement les données d'entrée et a rempliBeaconInfoavec les informations requises (True), ou si votre gestionnaire d'événement laisse l'analyseur par défaut du composant beacon analyser les données d'entrée (False).Handledest défini surFalsepar défaut. Assurez-vous de changer sa valeur parTrueaprès l'analyse correcte des données d'entrée.
Comme point de départ pour votre gestionnaire d'événement, vérifiez l'implémentation des fonctions d'analyseur existantes pour les standards pris en charge. Voir TStandardBeaconParser.Parse et TAlternativeBeaconParser.Parse sur l'unité System.Beacon.Common.pas spécifique à la plate-forme qui implémente l'API beacon pour les plates-formes autres que iOS. Cette unité se trouve dans le dossier C:\Program Files (x86)\Embarcadero\RAD Studio\17.0\source\rtl\net.