API:System.Beacon.Components.TBeacon.OnParseManufacturerData

提供: RAD Studio API Documentation
移動先: 案内検索

Delphi

property OnParseManufacturerData: TParseManufacturerDataEvent read FOnParseManufacturerData write FOnParseManufacturerData;

C++

__property OnParseManufacturerData;

プロパティ

種類 可視性 ソース ユニット
event published
System.Beacon.Components.pas
System.Beacon.Components.hpp
System.Beacon.Components TBeacon

説明

Bluetooth LE マネージャデバイスが検出されたときに発生します。このイベントを使用すれば、検出されたデバイスのアドバタイズ データに含まれているメーカー固有データを解析することができます。

System.Beacon.Components.TBeacon.OnParseManufacturerData は System.Beacon.Components.TCustomBeacon.OnParseManufacturerData を継承しています。以下の内容はすべて System.Beacon.Components.TCustomBeacon.OnParseManufacturerData を参照しています。

Bluetooth LE マネージャデバイスが検出されたときに発生します。このイベントを使用すれば、検出されたデバイスのアドバタイズ データに含まれているメーカー固有データを解析することができます。

Bluetooth LE デバイスは、他の Bluetooth LE デバイスによる検出が可能なように、自分自身をアドバタイズすることができます。ビーコンは Bluetooth LE デバイスの一種で、そのアドバタイズ データには、そのビーコンとお使いの Bluetooth LE デバイスの距離を決定するのに使用できるメーカー固有データが含まれています。

そのメーカー固有データの形式は、通常、広く使用されている 2 つの標準である iBeaconAltBeacon のどちらか一方に従います。ビーコン コンポーネントではこれらの標準をサポートしており、前もって、使用するのに適した標準が構成されている限り、どちらかの標準に従う任意のメーカー固有データを正常に解析できます。

ただし、これらの標準のどちらにも従わず、データを独自の形式で提供するビーコンが存在する可能性もあります。お使いのビーコンがそれに該当する場合は、入力されるメーカー固有データを解析してビーコン情報レコードに値を設定するように、OnParseManufacturerData のイベント ハンドラを実装することができます。

OnParseManufacturerDataイベント ハンドラで受け取るパラメータは次のとおりです。

  • Sender は、対象となるビーコン コンポーネントです。
  • AData は、検出された Bluetooth LE デバイスのアドバタイズ データに含まれているメーカー固有データです。AData_HighAData のバイト数です。
  • BeaconInfo は、AData で渡されるデータの解析結果の格納先となる TBeaconInfo インスタンスです。
  • Handled は、イベント ハンドラで入力データが正常に解析され、必要な情報が BeaconInfo に設定されたか(True)、それとも、代わりにビーコン コンポーネントのデフォルト パーサーで入力データが解析されるものとイベント ハンドラが想定しているか(False)を決定します。Handled はデフォルトで False になっているため、入力データを正常に解析できたら、その値を必ず True に変更してください。

イベント ハンドラの出発点として、サポートされている標準の既存のパーサー関数の実装を調べてみてください。iOS 以外のプラットフォームのビーコン API を実装しているプラットフォーム固有の System.Beacon.Common.pas ユニットに含まれている TStandardBeaconParser.ParseTAlternativeBeaconParser.Parse を参照してください。このユニットは C:\Program Files (x86)\Embarcadero\Studio\\source\rtl\net フォルダにあります。

関連項目