Sur cette page

QLowEnergyAdvertisingData Class

La classe QLowEnergyAdvertisingData représente les données à diffuser pendant la publicité Bluetooth Low Energy. Plus d'informations...

En-tête : #include <QLowEnergyAdvertisingData>
CMake : find_package(Qt6 REQUIRED COMPONENTS Bluetooth)
target_link_libraries(mytarget PRIVATE Qt6::Bluetooth)
qmake : QT += bluetooth

Types publics

enum Discoverability { DiscoverabilityNone, DiscoverabilityLimited, DiscoverabilityGeneral }

Fonctions publiques

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)

Membres publics statiques

bool operator!=(const QLowEnergyAdvertisingData &data1, const QLowEnergyAdvertisingData &data2)
bool operator==(const QLowEnergyAdvertisingData &data1, const QLowEnergyAdvertisingData &data2)

Description détaillée

Ces données peuvent inclure le nom du dispositif, les services GATT offerts par le dispositif, etc. Les données définies par l'intermédiaire de cette classe seront utilisées lorsque la publicité sera lancée en appelant QLowEnergyController::startAdvertising(). Les objets de cette classe peuvent représenter un paquet de données publicitaires ou un paquet de réponse au balayage.

Limites des données publicitaires

La longueur maximale des données publicitaires dépend de l'appareil Bluetooth et de la pile Bluetooth de la plateforme. Pour une compatibilité maximale, il est recommandé de limiter la taille des données publicitaires à la limite de 31 octets de l'ancienne technologie.

Si les données de longueur variable définies via cette classe dépassent la limite supportée, le comportement dépendra de l'implémentation de la pile Bluetooth sous-jacente. Les possibilités les plus courantes sont les suivantes

  • les données supplémentaires peuvent être tronquées ou entièrement supprimées ;
  • la publicité ne démarre pas.

Par exemple, sur Android, la publicité échouera si les données publicitaires sont plus grandes que 31 octets. Sur le backend BlueZ DBus, la limite de longueur de la publicité et le comportement en cas de dépassement dépendent de BlueZ ; il peut, par exemple, prendre en charge la publicité étendue ou ne pas démarrer la publicité.

Voir aussi QLowEnergyAdvertisingParameters et QLowEnergyController::startAdvertising().

Documentation sur les types de membres

enum QLowEnergyAdvertisingData::Discoverability

La découvrabilité du dispositif publicitaire telle que définie par le profil d'accès générique.

ConstanteValeurDescription de la constante
QLowEnergyAdvertisingData::DiscoverabilityNone0Le dispositif d'annonce ne souhaite pas être découvert par les dispositifs de balayage.
QLowEnergyAdvertisingData::DiscoverabilityLimited1Le dispositif d'annonce souhaite être repérable avec une priorité élevée. Notez que ce mode n'est pas compatible avec l'utilisation d'une liste blanche. La valeur de QLowEnergyAdvertisingParameters::filterPolicy() est toujours supposée être QLowEnergyAdvertisingParameters::IgnoreWhiteList lorsque la découvrabilité limitée est utilisée.
QLowEnergyAdvertisingData::DiscoverabilityGeneral2Le dispositif publicitaire souhaite être découvert par des dispositifs de balayage.

Documentation des fonctions membres

QLowEnergyAdvertisingData::QLowEnergyAdvertisingData()

Crée un nouvel objet de cette classe. Toutes les valeurs sont initialisées à leurs valeurs par défaut conformément à la spécification Bluetooth Low Energy.

QLowEnergyAdvertisingData::QLowEnergyAdvertisingData(const QLowEnergyAdvertisingData &other)

Construit un nouvel objet de cette classe qui est une copie de other.

[noexcept] QLowEnergyAdvertisingData::~QLowEnergyAdvertisingData()

Détruit cet objet.

QLowEnergyAdvertisingData::Discoverability QLowEnergyAdvertisingData::discoverability() const

Renvoie le mode de découverte du dispositif publicitaire. La valeur par défaut est DiscoverabilityNone.

Voir aussi setDiscoverability().

bool QLowEnergyAdvertisingData::includePowerLevel() const

Indique s'il faut inclure le niveau de puissance d'émission de l'appareil dans les données publicitaires. La valeur par défaut est false.

Voir également setIncludePowerLevel().

[static] quint16 QLowEnergyAdvertisingData::invalidManufacturerId()

Renvoie un identifiant de fabricant non valide. Si cette valeur est définie comme l'identifiant du fabricant (ce qui est le cas par défaut), aucune donnée relative au fabricant ne sera présente dans les données publicitaires.

QString QLowEnergyAdvertisingData::localName() const

Renvoie le nom de l'appareil local qui doit faire l'objet d'une publicité.

Voir aussi setLocalName().

QByteArray QLowEnergyAdvertisingData::manufacturerData() const

Renvoie les données du fabricant. La valeur par défaut est un tableau d'octets vide.

Voir aussi setManufacturerData().

quint16 QLowEnergyAdvertisingData::manufacturerId() const

Renvoie l'identifiant du fabricant. La valeur par défaut est QLowEnergyAdvertisingData::invalidManufacturerId(), ce qui signifie que les données ne seront pas publiées.

QByteArray QLowEnergyAdvertisingData::rawData() const

Renvoie les données brutes fournies par l'utilisateur à annoncer. La valeur par défaut est un tableau d'octets vide.

Voir aussi setRawData().

QList<QBluetoothUuid> QLowEnergyAdvertisingData::services() const

Renvoie la liste des UUID de service à annoncer. Par défaut, cette liste est vide.

Voir aussi setServices().

void QLowEnergyAdvertisingData::setDiscoverability(QLowEnergyAdvertisingData::Discoverability mode)

Définit le type de découvrabilité du dispositif publicitaire à mode.

Remarque : les informations relatives à la découvrabilité ne peuvent apparaître que dans un paquet de données publicitaires réel. Si cet objet sert de données de réponse au balayage, un appel à cette fonction n'aura aucun effet sur la réponse au balayage envoyée.

Voir également discoverability().

void QLowEnergyAdvertisingData::setIncludePowerLevel(bool doInclude)

Spécifie s'il faut inclure le niveau de puissance d'émission de l'appareil dans les données publicitaires. Si doInclude est true, les données seront incluses, sinon elles ne le seront pas.

Voir également includePowerLevel().

void QLowEnergyAdvertisingData::setLocalName(const QString &name)

Spécifie que name doit être diffusé comme nom de l'appareil. Si le nom complet ne tient pas dans le paquet de données publicitaires, un nom abrégé est envoyé, conformément à la spécification Bluetooth Low Energy.

Sur Android, le nom local ne peut pas être modifié. Android utilise toujours le nom de l'appareil. Si ce nom local n'est pas vide, l'implémentation Android inclut le nom de l'appareil dans le paquet de données publicitaires ; sinon, le nom de l'appareil est omis du paquet de données publicitaires.

Voir également localName().

void QLowEnergyAdvertisingData::setManufacturerData(quint16 id, const QByteArray &data)

Définit l'identifiant et les données du fabricant. Le paramètre id est un identifiant de société tel qu'attribué par Bluetooth SIG. Le paramètre data est une valeur arbitraire.

Remarque : macOS et iOS ne prennent pas en charge la publicité de l'identifiant ou des données du fabricant, de sorte que les paramètres fournis seront ignorés sur ces plateformes.

Voir aussi manufacturerData().

void QLowEnergyAdvertisingData::setRawData(const QByteArray &data)

Définit les données à envoyer à data. Si la valeur n'est pas un tableau d'octets vide, elle sera envoyée telle quelle en tant que données publicitaires et toutes les autres données de cet objet seront ignorées. Ceci peut être utilisé pour envoyer des données non standard.

Note : Si data est plus long que 31 octets, il sera tronqué. Il incombe à l'appelant de s'assurer que data est bien formé.

La définition de données publicitaires brutes n'est prise en charge que par le backend Linux Bluetooth Kernel API. Les autres backends ne permettent pas de spécifier les données publicitaires brutes en tant que champ global.

Voir aussi rawData().

void QLowEnergyAdvertisingData::setServices(const QList<QBluetoothUuid> &services)

Spécifie que les UUID de service dans services doivent être annoncés. Si la liste complète ne tient pas dans le paquet, une liste incomplète est envoyée, conformément à la spécification Bluetooth Low Energy.

Voir aussi services().

[noexcept] void QLowEnergyAdvertisingData::swap(QLowEnergyAdvertisingData &other)

Remplace cet objet par other.

QLowEnergyAdvertisingData &QLowEnergyAdvertisingData::operator=(const QLowEnergyAdvertisingData &other)

Fait de cet objet une copie de other et renvoie la nouvelle valeur de cet objet.

Non-membres apparentés

bool operator!=(const QLowEnergyAdvertisingData &data1, const QLowEnergyAdvertisingData &data2)

Renvoie true si data1 et data2 ne sont pas égaux en ce qui concerne leur état public, sinon renvoie false.

bool operator==(const QLowEnergyAdvertisingData &data1, const QLowEnergyAdvertisingData &data2)

Renvoie true si data1 et data2 sont égaux en ce qui concerne leur état public, sinon renvoie 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.