Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Utilisation de règles de filtrage pour filtrer les messages du SDK Amazon Chime

Mode de mise au point
Utilisation de règles de filtrage pour filtrer les messages du SDK Amazon Chime - Kit SDK Amazon Chime

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Le SDK Amazon Chime permet de définir des règles de filtrage sur l'adhésion à la chaîne d'un utilisateur d'une instance d'application afin de limiter le message qu'il recevra. Les règles de filtrage sont définies en fonction de l'appartenance au canal et sont appliquées par rapport à la carte des attributs des messages. La carte des attributs du message doit être une carte des clés de chaîne et des valeurs de chaîne. Les règles de filtrage prennent en charge l'inclusion et l'exclusion avec une correspondance exacte des chaînes.

Important
  • Le SDK Amazon Chime prend uniquement en charge les chaînes JSON échappées comme règle de filtrage.

  • Tous les membres d'un canal de notification reçoivent les notifications push, y compris les expéditeurs de messages. Pour éviter que cela ne se produise, consultez le premier exemple de règle ci-dessous.

Pour définir des règles de filtrage sur l'appartenance à une chaîne, utilisez le PutChannelMembershipPreferencesAPI. Vous pouvez inclure des attributs de message dans un message de chaîne dans le cadre du SendChannelMessageAppel d'API.

Types de règles de filtrage

Le SDK Amazon Chime prend en charge les types de règles de filtrage suivants :

  • Correspondance exacte des chaînes incluse

  • Correspondance exacte exclusive des chaînes

  • Plusieurs règles de filtrage utilisant AND ou OR

Limites des règles de filtrage

Le SDK Amazon Chime impose les restrictions suivantes en matière de règles de filtrage :

  • Nous prenons uniquement en charge la correspondance exacte des chaînes.

  • La taille totale des règles de filtrage est de 2 Ko.

  • Une taille totale d'attribut de message de 1 Ko.

  • Un maximum de cinq (5) contraintes distinctes dans une règle de filtre OR.

  • Complexité maximale de 20 pour l'ensemble de la règle de filtrage. La complexité est calculée comme la somme du nombre de clés et de valeurs de la règle de filtre :

    Par exemple, cette règle de filtre a une complexité de 4.

    "FilterRule": "{\"type\":[{\"anything-but\": [\"Room\"]}],\"mention\":[\"Bob\"]}

    Nous calculons cette valeur comme suit :

    Keys = “type” and “mention” - Complexity 2 Values = "Room" and "Bob" - Complexity 2 Total complexity = 4

Exemples de règles de filtrage

Les exemples suivants montrent plusieurs manières d'utiliser les préférences d'adhésion aux chaînes et les règles de filtrage.

Empêcher les messages d'être envoyés aux expéditeurs

Cette règle de filtrage envoie des messages à tous les membres de la chaîne, à l'exception de l'expéditeur du message.

{ "Preferences": { "PushNotifications": { "FilterRule": "{\"type\":[{\"anything-but\": [\"USER_ARN\"]}]}", "AllowNotifications": "FILTERED" } } }

Les utilisateurs de l'instance d'application ayant les préférences indiquées ci-dessus reçoivent un message de chaîne avec les attributs suivants :

"MessageAttributes": { "senderId": { "StringValues": ["USER_ARN"] } }
Correspondance de chaînes incluse

Cette règle de filtrage autorise tout message dont la clé d'attribut de message « mention » et la valeur « Bob » sont valides.

{ "Preferences": { "PushNotifications": { "FilterRule": "{\"mention\":[\"Bob\"]}", "AllowNotifications": "FILTERED" } } }

Un utilisateur d'instance d'application ayant les préférences indiquées ci-dessus reçoit un message de canal avec les attributs de message suivants :

"MessageAttributes": { "mention": { "StringValues": ["Bob", "Alice"] } }

Toutefois, l'utilisateur de l'instance d'application ne recevra pas de message de chaîne contenant les attributs suivants :

"MessageAttributes": { "mention": { "StringValues": ["Tom"] } }
Correspondance exclusive des chaînes

Cette règle de filtrage autorise tous les messages sauf ceux contenant la clé d'attribut « type » et la valeur « Room ».

{ "Preferences": { "PushNotifications": { "FilterRule": "{\"type\":[{\"anything-but\": [\"Room\"]}]}", "AllowNotifications": "FILTERED" } } }

Un utilisateur d'instance d'application disposant de ces préférences reçoit un message de canal avec les attributs de message suivants :

"MessageAttributes": { "type": { "StringValues": ["Conversation"] } }

Toutefois, l'utilisateur de l'instance d'application ne voit aucun message de chaîne contenant les attributs suivants :

"MessageAttributes": { "type": { "StringValues": ["Room"] } }
Une règle à filtres multiples avec logique AND

Lorsque vous combinez des règles de filtre avec la logique AND, un message doit répondre à tous les critères de filtre pour que le filtre s'applique.

{ "Preferences": { "PushNotifications": { "FilterRule": "{\"type\":[{\"anything-but\": [\"Room\"]}],\"mention\":[\"Bob\"]}", "AllowNotifications": "FILTERED" } } }

Un utilisateur d'instance d'application ayant les préférences ci-dessus reçoit un message de canal avec les attributs de message suivants :

"MessageAttributes": { "mention": { "StringValues": ["Bob"] }, "type": { "StringValues": ["Conversation"] } }
Une règle à filtres multiples avec logique OR

Vous pouvez $or combiner les règles de filtrage avec la logique OR. Lorsque vous utilisez la logique OR, un message doit répondre à l'un des critères pour que le filtre s'applique.

{ "Preferences": { "PushNotifications": { "FilterRule": "{\"$or\":[{\"mention\":[\"Bob\"]},{\"type\":[{\"anything-but\": [\"Room\"]}]}]}", "AllowNotifications": "FILTERED" } } }

Un utilisateur d'instance d'application ayant les préférences ci-dessus reçoit un message de canal avec les attributs de message suivants :

"MessageAttributes": { "mention": { "StringValues": ["Bob"] } }

Un utilisateur d'instance d'application ayant les préférences ci-dessus reçoit un message de canal avec les attributs de message suivants :

"MessageAttributes": { "type": { "StringValues": ["Conversation"] } }
ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.