QLowEnergyAdvertisingData Class
QLowEnergyAdvertisingData 클래스는 블루투스 저에너지(BLE) 광고 중에 전송될 데이터를 나타냅니다. 더 보기...
| 헤더: | #include <QLowEnergyAdvertisingData> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Bluetooth) target_link_libraries(mytarget PRIVATE Qt6::Bluetooth) |
| qmake: | QT += bluetooth |
- 상속된 멤버를 포함한 모든 멤버 목록
- QLowEnergyAdvertisingData는 암시적 공유 클래스의 일부입니다.
공개 타입
| enum | Discoverability { DiscoverabilityNone, DiscoverabilityLimited, DiscoverabilityGeneral } |
공개 함수
| QLowEnergyAdvertisingData() | |
| QLowEnergyAdvertisingData(const QLowEnergyAdvertisingData &other) | |
| ~QLowEnergyAdvertisingData() | |
| QLowEnergyAdvertisingData::Discoverability | discoverability() const |
| bool | includePowerLevel() const |
| QString | localName() const |
| QByteArray | manufacturerData() const |
| quint16 | manufacturerId() const |
| QByteArray | rawData() const |
| QList<QBluetoothUuid> | services() const |
| void | setDiscoverability(QLowEnergyAdvertisingData::Discoverability mode) |
| void | setIncludePowerLevel(bool doInclude) |
| void | setLocalName(const QString &name) |
| void | setManufacturerData(quint16 id, const QByteArray &data) |
| void | setRawData(const QByteArray &data) |
| void | setServices(const QList<QBluetoothUuid> &services) |
| void | swap(QLowEnergyAdvertisingData &other) |
| QLowEnergyAdvertisingData & | operator=(const QLowEnergyAdvertisingData &other) |
정적 공용 멤버
| quint16 | invalidManufacturerId() |
관련 비멤버
| bool | operator!=(const QLowEnergyAdvertisingData &data1, const QLowEnergyAdvertisingData &data2) |
| bool | operator==(const QLowEnergyAdvertisingData &data1, const QLowEnergyAdvertisingData &data2) |
상세 설명
이 데이터에는 장치 이름, 장치가 제공하는 GATT 서비스 등이 포함될 수 있습니다. 이 클래스를 통해 설정된 데이터 세트는 QLowEnergyController::startAdvertising()를 호출하여 광고가 시작될 때 사용됩니다. 이 클래스의 객체는 광고 데이터 패킷 또는 스캔 응답 패킷을 나타낼 수 있습니다.
광고 데이터 제한 사항
광고 데이터의 최대 길이는 블루투스 기기와 플랫폼의 블루투스 스택에 따라 다릅니다. 최대한의 호환성을 확보하려면 광고 데이터 크기를 기존 광고 제한인 31바이트로 제한하는 것이 좋습니다.
이 클래스를 통해 설정된 가변 길이 데이터가 지원되는 제한을 초과하는 경우, 동작은 기본 블루투스 스택 구현에 따라 달라집니다. 가장 일반적인 경우는 다음과 같습니다:
- 추가 데이터가 잘리거나 완전히 생략될 수 있습니다.
- 광고 시작에 실패할 수 있습니다.
예를 들어, Android에서는 광고 데이터가 31바이트를 초과하면 광고가 실패합니다. BlueZ DBus 백엔드의 경우, 광고 길이 제한 및 제한 초과 시의 동작은 BlueZ에 따라 달라집니다. 예를 들어, 확장 광고를 지원할 수도 있고, 광고 시작에 실패할 수도 있습니다.
QLowEnergyAdvertisingParameters 및 QLowEnergyController::startAdvertising()도 참조하십시오 .
멤버 유형 문서
enum QLowEnergyAdvertisingData::Discoverability
일반 액세스 프로파일(Generic Access Profile)에 정의된 광고 장치의 탐지 가능성.
| 상수 | 값 | 설명 |
|---|---|---|
QLowEnergyAdvertisingData::DiscoverabilityNone | 0 | 광고 기기는 스캔 기기에 의해 탐지되기를 원하지 않습니다. |
QLowEnergyAdvertisingData::DiscoverabilityLimited | 1 | 광고 기기는 높은 우선순위로 검색 가능하기를 원합니다. 이 모드는 화이트리스트 사용과 호환되지 않는다는 점에 유의하십시오. 제한된 검색 가능성(limited discoverability)이 사용되는 경우, ` QLowEnergyAdvertisingParameters::filterPolicy()`의 값은 항상 ` QLowEnergyAdvertisingParameters::IgnoreWhiteList `로 간주됩니다. |
QLowEnergyAdvertisingData::DiscoverabilityGeneral | 2 | 광고 장치는 스캔 장치에 의해 탐지되기를 원합니다. |
멤버 함수 설명서
QLowEnergyAdvertisingData::QLowEnergyAdvertisingData()
이 클래스의 새 객체를 생성합니다. 모든 값은 Bluetooth Low Energy 사양에 따라 기본값으로 초기화됩니다.
QLowEnergyAdvertisingData::QLowEnergyAdvertisingData(const QLowEnergyAdvertisingData &other)
other 의 복사본인 이 클래스의 새 객체를 생성합니다.
[noexcept] QLowEnergyAdvertisingData::~QLowEnergyAdvertisingData()
이 객체를 삭제합니다.
QLowEnergyAdvertisingData::Discoverability QLowEnergyAdvertisingData::discoverability() const
광고 기기의 검색 가능 모드를 반환합니다. 기본값은 ‘ DiscoverabilityNone ’입니다.
setDiscoverability()도 참조하십시오 .
bool QLowEnergyAdvertisingData::includePowerLevel() const
광고 데이터에 장치의 송신 전력 레벨을 포함할지 여부를 반환합니다. 기본값은 ` false`입니다.
setIncludePowerLevel()도 참조하십시오 .
[static] quint16 QLowEnergyAdvertisingData::invalidManufacturerId()
유효하지 않은 제조사 ID를 반환합니다. 이 값이 제조사 ID로 설정된 경우(기본값으로 설정되어 있음), 광고 데이터에는 제조사 데이터가 포함되지 않습니다.
QString QLowEnergyAdvertisingData::localName() const
알릴 로컬 장치의 이름을 반환합니다.
setLocalName()도 참조하십시오 .
QByteArray QLowEnergyAdvertisingData::manufacturerData() const
제조업체 데이터를 반환합니다. 기본값은 빈 바이트 배열입니다.
setManufacturerData()도 참조하십시오 .
quint16 QLowEnergyAdvertisingData::manufacturerId() const
제조업체 ID를 반환합니다. 기본값은 QLowEnergyAdvertisingData::invalidManufacturerId()이며, 이는 데이터가 공개되지 않음을 의미합니다.
QByteArray QLowEnergyAdvertisingData::rawData() const
사용자가 제공한, 광고할 원시 데이터를 반환합니다. 기본값은 빈 바이트 배열입니다.
setRawData()도 참조하십시오 .
QList<QBluetoothUuid> QLowEnergyAdvertisingData::services() const
알릴 서비스 UUID 목록을 반환합니다. 기본적으로 이 목록은 비어 있습니다.
setServices()도 참조하십시오 .
void QLowEnergyAdvertisingData::setDiscoverability(QLowEnergyAdvertisingData::Discoverability mode)
광고 기기의 검색 가능 유형을 ‘ mode ’로 설정합니다.
참고: 탐색 가능성 정보는 실제 광고 데이터 패킷에만 표시될 수 있습니다. 이 객체가 스캔 응답 데이터로 사용되는 경우, 이 함수를 호출해도 전송되는 스캔 응답에는 아무런 영향도 미치지 않습니다.
discoverability()도 참조하십시오 .
void QLowEnergyAdvertisingData::setIncludePowerLevel(bool doInclude)
광고 데이터에 장치의 송신 전력 레벨을 포함할지 여부를 지정합니다. doInclude 의 값이 true 일 경우 데이터가 포함되며, 그렇지 않은 경우 포함되지 않습니다.
includePowerLevel()도 참조하십시오 .
void QLowEnergyAdvertisingData::setLocalName(const QString &name)
name 를 장치 이름으로 브로드캐스트해야 함을 지정합니다. 전체 이름이 광고 데이터 패킷에 들어가지 않는 경우, Bluetooth Low Energy 사양에 명시된 대로 축약된 이름이 전송됩니다.
Android에서는 로컬 이름을 변경할 수 없습니다. Android는 항상 기기 이름을 사용합니다. 이 로컬 이름이 비어 있지 않은 경우, Android 구현은 광고 패킷에 기기 이름을 포함시키며, 그렇지 않은 경우 광고 패킷에서 기기 이름이 생략됩니다.
localName()도 참조하십시오 .
void QLowEnergyAdvertisingData::setManufacturerData(quint16 id, const QByteArray &data)
제조업체 ID와 데이터를 설정합니다. ‘ id ’ 매개변수는 Bluetooth SIG에서 할당한 회사 식별자입니다. ‘ data ’ 매개변수는 임의의 값입니다.
참고: macOS 및 iOS는 제조업체 ID나 데이터의 광고를 지원하지 않으므로, 해당 플랫폼에서는 제공된 매개변수가 무시됩니다.
manufacturerData()도 참조하십시오 .
void QLowEnergyAdvertisingData::setRawData(const QByteArray &data)
data 에 광고할 데이터를 설정합니다. 값이 빈 바이트 배열이 아닌 경우, 해당 값이 광고 데이터로 그대로 전송되며 이 객체의 다른 모든 데이터는 무시됩니다. 이 기능을 사용하여 비표준 데이터를 전송할 수 있습니다.
참고: data 의 길이가 31바이트를초과하면 잘립니다. data 가 올바른 형식을 갖도록 하는 것은 호출자의 책임입니다.
원시 광고 데이터 설정은 Linux Bluetooth 커널 API 백엔드에서만 지원됩니다. 다른 백엔드에서는 원시 광고 데이터를 전역 필드로 지정할 수 없습니다.
rawData()도 참조하십시오 .
void QLowEnergyAdvertisingData::setServices(const QList<QBluetoothUuid> &services)
services 에 포함된 서비스 UUID를 알리도록 지정합니다. 전체 목록이 패킷에 들어가지 않을 경우, 블루투스 저에너지(Bluetooth Low Energy) 사양에 명시된 대로 불완전한 목록이 전송됩니다.
services()도 참조하십시오 .
[noexcept] void QLowEnergyAdvertisingData::swap(QLowEnergyAdvertisingData &other)
이 객체를 other 와 서로 바꿉니다.
QLowEnergyAdvertisingData &QLowEnergyAdvertisingData::operator=(const QLowEnergyAdvertisingData &other)
이 객체를 ` other `의 복사본으로 만들고, 이 객체의 새로운 값을 반환합니다.
관련 비멤버
bool operator!=(const QLowEnergyAdvertisingData &data1, const QLowEnergyAdvertisingData &data2)
data1 와 data2 의 공개 상태가 서로 다를 경우 true 를 반환하고, 그렇지 않은 경우 false 를 반환합니다.
bool operator==(const QLowEnergyAdvertisingData &data1, const QLowEnergyAdvertisingData &data2)
data1 와 data2 의 공개 상태가 동일할 경우 true 를 반환하고, 그렇지 않으면 false 를 반환합니다.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.