Partager via


BluetoothLEAdvertisementWatcherTrigger Classe

Définition

Représente un déclencheur inscrit pour rechercher la publicité Bluetooth LE en arrière-plan.

public ref class BluetoothLEAdvertisementWatcherTrigger sealed
/// [Windows.Foundation.Metadata.Activatable(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 BluetoothLEAdvertisementWatcherTrigger 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(65536, "Windows.Foundation.UniversalApiContract")]
class BluetoothLEAdvertisementWatcherTrigger final
[Windows.Foundation.Metadata.Activatable(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 BluetoothLEAdvertisementWatcherTrigger
[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(65536, "Windows.Foundation.UniversalApiContract")]
public sealed class BluetoothLEAdvertisementWatcherTrigger
function BluetoothLEAdvertisementWatcherTrigger()
Public NotInheritable Class BluetoothLEAdvertisementWatcherTrigger
Héritage
Object Platform::Object IInspectable BluetoothLEAdvertisementWatcherTrigger
Attributs
Implémente

Configuration requise pour Windows

Famille d’appareils
Windows 10 (introduit dans 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduit dans v1.0)

Remarques

Une tâche en arrière-plan est lancée lorsqu’une publicité est reçue.

Ce déclencheur fonctionne de la même façon que la classe BluetoothAdvertisementWatcher , à l’exception du fait qu’elle a plus de restrictions, car elle permet à l’application de recevoir des publicités en arrière-plan. Notamment, un modèle de filtre unique est accepté en arrière-plan (pas plus, pas moins).

Une fois inscrit, l’observateur d’arrière-plan est surveillé de manière optimale. Une tâche en arrière-plan est lancée pour avertir l’application lorsqu’une publicité correspondant au filtre configuré par le biais du déclencheur est reçue. L’application est également avertie des échecs ou de l’interruption de l’observateur d’arrière-plan via les détails du déclencheur fournis dans le contexte de la tâche en arrière-plan. Pour arrêter de recevoir les publicités, la tâche en arrière-plan associée à ce déclencheur doit être désinscrire.

Les types de publicité suivants ne sont pas autorisés à être filtrés pour en arrière-plan en raison de leur nature générique

  • Indicateurs (0x01)
  • Classe d’appareil (0x0D)
  • Indicateurs hors bande de Security Manager (0x11)
  • Apparence (0x19)
  • Rôle LE (0x1C)

Un filtre d’arrière-plan pour une section brute de données spécifiques au fabricant de type (0xFF) qui correspond uniquement au deuxième octet de la section avec 0x00 sera rejeté, car il correspond à l’octet le plus significatif du champ identificateur de l’entreprise. Tous les identificateurs d’entreprise attribués par SIG ont actuellement cet octet défini sur 0x00 et l’exécution d’une correspondance partielle avec un seul octet peut potentiellement entraîner un dépassement des publicités reçues en présence de plusieurs annonceurs. Cela peut avoir un impact significatif sur l’autonomie de la batterie du système.

L’utilisation d’un BluetoothLEAdvertisementWatcherTrigger est limitée par les ressources de déchargement matérielles disponibles. Les nouveaux appareils Windows avec la prise en charge des extensions HCI dans la radio Bluetooth locale fournissent une analyse des publicités à faible puissance, ce qui améliore l’autonomie de la batterie pour les scénarios à long terme tels que les balises. La quantité de ressources matérielles disponibles dépend de la radio et de l’utilisation actuelle à l’échelle du système, et les tentatives d’inscription à ce déclencheur retournent BluetoothError.ResourceInUse lorsqu’aucune ressource supplémentaire n’est disponible. Les applications doivent utiliser ces ressources avec parcimonie pour fournir un scénario ciblé et efficace en matière de surveillance des données publicitaires uniques pour les annonceurs distants spécifiques qui sont nécessaires.

Bien que de nombreux nouveaux appareils Windows aient la prise en charge des extensions HCI, certains peuvent ne pas, en particulier dans les cas de mises à niveau sur des appareils plus anciens à partir d’anciennes versions de Windows. Dans ce cas, Windows émule le filtrage matériel dans les logiciels, en fournissant un maximum de 20 conditions de déclencheur par appareil, sur toutes les applications du système. Lors de l’utilisation de cette émulation logicielle, les tentatives d’inscription aux ressources du déclencheur une fois que le maximum a été atteint entraînent la levée d’une exception, avec ERROR_NO_SYSTEM_RESOURCES d’erreur (0x800705AA) .

Historique des versions

Version de Windows Version du SDK Valeur ajoutée
2004 19041 AllowExtendedAdvertisements

Constructeurs

BluetoothLEAdvertisementWatcherTrigger()

Crée une instance de la classe BluetoothLEAdvertisementWatcherTrigger.

Propriétés

AdvertisementFilter

Obtient ou définit la configuration du filtrage des publicités Bluetooth LE qui utilise le filtrage basé sur la section de charge utile.

AllowExtendedAdvertisements

Permet la réception des publicités à l’aide du format Publicité étendue. Valeur par défaut False.

MaxOutOfRangeTimeout

Obtient le délai d’expiration maximal pris en charge pour la propriété SignalStrengthFilter de ce déclencheur.

MaxSamplingInterval

Obtient l’intervalle d’échantillonnage maximal pris en charge pour la propriété SignalStrengthFilter de ce déclencheur. L’intervalle d’échantillonnage maximal est utilisé pour désactiver le filtre d’échantillonnage et déclencher uniquement les événements reçus en fonction de l’entrée et de la sortie de l’appareil.

MinOutOfRangeTimeout

Obtient le délai d’expiration minimal pris en charge pour la propriété SignalStrengthFilter de ce déclencheur.

MinSamplingInterval

Obtient l’intervalle d’échantillonnage minimal pris en charge pour la propriété SignalStrengthFilter de ce déclencheur. L’intervalle d’échantillonnage minimal pour l’observateur d’arrière-plan ne peut pas être égal à zéro contrairement à son équivalent de premier plan.

SignalStrengthFilter

Obtient ou définit la configuration du filtrage des publicités Bluetooth LE qui utilise le filtrage basé sur la force du signal.

S’applique à

Voir aussi