BluetoothLEAdvertisementWatcherTrigger Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
- 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. |
ScanParameters |
Représente un déclencheur inscrit pour rechercher la publicité Bluetooth LE en arrière-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. |
UseCodedPhy |
Représente un déclencheur inscrit pour rechercher la publicité Bluetooth LE en arrière-plan. |
UseUncoded1MPhy |
Représente un déclencheur inscrit pour rechercher la publicité Bluetooth LE en arrière-plan. |