다음을 통해 공유


BluetoothLEAdvertisementPublisher 클래스

정의

Bluetooth LE(저에너지) 광고를 보낼 개체입니다.

public ref class BluetoothLEAdvertisementPublisher sealed
/// [Windows.Foundation.Metadata.Activatable(65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.Activatable(Windows.Devices.Bluetooth.Advertisement.IBluetoothLEAdvertisementPublisherFactory, 65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class BluetoothLEAdvertisementPublisher final
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.Activatable(Windows.Devices.Bluetooth.Advertisement.IBluetoothLEAdvertisementPublisherFactory, 65536, "Windows.Foundation.UniversalApiContract")]
/// [Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
class BluetoothLEAdvertisementPublisher final
[Windows.Foundation.Metadata.Activatable(65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.Activatable(typeof(Windows.Devices.Bluetooth.Advertisement.IBluetoothLEAdvertisementPublisherFactory), 65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class BluetoothLEAdvertisementPublisher
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.Activatable(typeof(Windows.Devices.Bluetooth.Advertisement.IBluetoothLEAdvertisementPublisherFactory), 65536, "Windows.Foundation.UniversalApiContract")]
[Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
public sealed class BluetoothLEAdvertisementPublisher
function BluetoothLEAdvertisementPublisher(advertisement)
Public NotInheritable Class BluetoothLEAdvertisementPublisher
상속
Object Platform::Object IInspectable BluetoothLEAdvertisementPublisher
특성

Windows 요구 사항

디바이스 패밀리
Windows 10 (10.0.10240.0 - for Xbox, see UWP features that aren't yet supported on Xbox에서 도입되었습니다.)
API contract
Windows.Foundation.UniversalApiContract (v1.0에서 도입되었습니다.)
앱 기능
bluetooth

설명

BluetoothLEAdvertisementPublisher 클래스를 사용하면 Bluetooth LE 광고 패킷을 구성하고 광고할 수 있습니다. 광고 요청은 최상의 노력으로 처리되며 광고 매개 변수는 광고 정책에 의해 정의됩니다.

보급 알림의 페이로드는 BluetoothLEAdvertisementPublisher가 생성될 때 구성됩니다. 페이로드는 BluetoothLEAdvertisementPublisher의 Advertis 속성으로 검색할 수 있습니다. 이러한 방식으로 사용되는 경우 BluetoothLEAdvertisement 클래스를 호출자가 관리해야 합니다. 예를 들어 일반적인 데이터 섹션에 쉽게 액세스할 수 있도록 실제 페이로드의 중복이 포함되어 있으므로 BluetoothLEAdvertisementReceivedEventArgs에서 가져온 BluetoothLEAdvertisement를 직접 다시 사용하지 않는 것이 좋습니다. 받은 BluetoothLEAdvertisement 를 복제해야 하는 경우 원시 형식의 광고 데이터 섹션을 나타내므로 DataSections 속성만 복사해야 합니다.

로컬 보급 알림 리소스는 프로토콜 계층에서 제한됩니다. 이 리소스의 사용은 엔터프라이즈 사용 사례와 같은 제어된 시나리오에 가장 적합합니다. 다른 앱은 이 제한된 리소스에 대해 경쟁할 수 있으며 특정 사용 사례에 대한 광고의 정기 브로드캐스트는 보장할 수 없습니다.

다음 보급 알림 유형이 허용됩니다.

  • 제조업체별 정보(0xFF)
  • 아래 목록과 같이 시스템에서 예약하지 않은 비표준 형식입니다. 비표준 형식에 대한 자세한 내용은 할당된 숫자 및 GAP Bluetooth 사양을 참조하세요.

다음 보급 알림 유형은 시스템 예약이며 허용되지 않습니다.

  • 플래그(0x01)
  • 16비트 서비스 UUID의 불완전한 목록(0x02)
  • 16비트 서비스 UUID(0x03) 전체 목록
  • 32비트 서비스 UUID의 불완전한 목록(0x04)
  • 32비트 서비스 UUID(0x05) 전체 목록
  • 128비트 서비스 UUID(0x06)의 불완전한 목록
  • 128비트 서비스 UUID(0x07) 전체 목록
  • 단축된 로컬 이름(0x08)
  • 전체 로컬 이름(0x09)
  • Tx 전원 수준(0x0A)
  • 디바이스 클래스(0x0D)
  • 간단한 페어링 해시 C192(0x0E)
  • 간단한 페어링 임의 변환기 R192(0x0F)
  • Security Manager TK 값(0x10)
  • Security Manager 대역 외 플래그(0x11)
  • 주변 장치 연결 간격 범위(0x12)
  • 16비트 서비스 요청 UUID 목록(0x14)
  • 32비트 서비스 요청 UUID 목록(0x1F)
  • 128비트 서비스 요청 UUID 목록(0x15)
  • 서비스 데이터 16비트 UUID(0x16)
  • 서비스 데이터 32비트 UUID(0x20)
  • 서비스 데이터 128비트 UUID(0x21)
  • 공용 대상 주소(0x17)
  • 임의 대상 주소(0x18)
  • 모양(0x19)
  • 광고 간격(0x1A)
  • LE Bluetooth 디바이스 주소(0x1B)
  • LE 역할(0x1C)
  • 간단한 페어링 해시 C256(0x1D)
  • 간단한 페어링 임의 변환기 R256(0x1E)
  • 3D 정보 데이터(0x3D)

버전 기록

Windows 버전 SDK 버전 추가된 값
2004 19041 IncludeTransmitPowerLevel
2004 19041 IsAnonymous
2004 19041 PreferredTransmitPowerLevelInDBm
2004 19041 UseExtendedAdvertisement

생성자

BluetoothLEAdvertisementPublisher()

BluetoothLEAdvertisementPublisher 개체를 만듭니다.

BluetoothLEAdvertisementPublisher(BluetoothLEAdvertisement)

게시할 Bluetooth LE 보급 알림을 사용하여 새 BluetoothLEAdvertisementPublisher 개체를 만듭니다.

속성

Advertisement

게시할 Bluetooth LE 광고의 복사본을 가져옵니다.

게시자 개체를 구성할 때 제한된 섹션 형식(BluetoothLEAdvertisementPublisher.Advertis.FlagsBluetoothLEAdvertisementPublisher.Advertis.LocalName)을 추가할 수 없습니다. 이러한 속성 값을 설정하려고 하면 런타임 예외가 발생합니다. 제조업체 데이터 섹션 또는 제한 목록에 정의되지 않은 다른 섹션을 설정할 수 있습니다.

IncludeTransmitPowerLevel

전송 전원 수준이 보급 알림 헤더에 포함되는지 여부를 지정합니다. 기본값은 False입니다.

IsAnonymous

디바이스 주소가 광고 헤더에 포함되는지 여부를 지정합니다. 기본적으로 주소가 포함됩니다.

PreferredTransmitPowerLevelInDBm

지정된 경우 라디오가 보급 알림에 대해 표시된 전송 전원 수준을 사용하도록 요청합니다. 기본값은 Null입니다.

Status

BluetoothLEAdvertisementPublisher의 현재 상태 가져옵니다.

UseExtendedAdvertisement

광고 게시자가 확장 광고 형식을 사용하도록 지정합니다.

메서드

Start()

Bluetooth LE 광고 페이로드 광고를 시작합니다.

Stop()

게시자를 중지하고 Bluetooth LE 광고 페이로드 광고를 중지합니다.

이벤트

StatusChanged

BluetoothLEAdvertisementPublisher의 상태 변경되었다는 알림입니다.

적용 대상

추가 정보