Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Usar regras de filtro para filtrar mensagens do sistema de mensagens do SDK do Amazon Chime

Modo de foco
Usar regras de filtro para filtrar mensagens do sistema de mensagens do SDK do Amazon Chime - SDK do Amazon Chime

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

O SDK do Amazon Chime suporta a configuração de regras de filtro na associação ao canal do usuário de uma instância de aplicativo para limitar a mensagem que ele receberá. As regras de filtro são definidas na associação do canal e são executadas no mapa de atributos da mensagem. O mapa de atributos da mensagem deve ser um mapa de chaves de string para valores de string. As regras de filtro oferecem suporte à inclusão e exclusão com correspondência exata de strings.

Importante
  • O SDK do Amazon Chime só oferece suporte a strings JSON escapadas como regra de filtro.

  • Todos os membros de um canal de notificação recebem as notificações por push, inclusive os remetentes das mensagens. Para evitar que isso aconteça, veja o primeiro exemplo de regra abaixo.

Para definir regras de filtro na associação de um canal, use o PutChannelMembershipPreferencesAPI. Você pode incluir atributos de mensagem em uma mensagem do canal como parte do SendChannelMessageChamada de API.

Tipos de regra de filtros

O SDK do Amazon Chime é compatível com os seguintes tipos de regras de filtro:

  • Correspondência exata inclusiva de strings

  • Correspondência de strings exata exclusiva

  • Várias regras de filtro que usam AND ou OR

Limites de regra de filtros

O SDK do Amazon Chime impõe as seguintes restrições às regras de filtro:

  • Só suportamos a correspondência exata de strings.

  • Um tamanho total de regras de filtro de 2 KB.

  • Um tamanho total doe atributo de mensagem de 1 KB.

  • Um máximo de cinco (5) restrições separadas dentro de uma regra de filtro OR.

  • Uma complexidade máxima de 20 para toda a regra do filtro. A complexidade é calculada como a soma do número de chaves e valores na regra do filtro:

    Por exemplo, essa regra de filtro tem uma complexidade de 4.

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

    Calculamos esse valor da seguinte forma:

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

Exemplo de regras de filtro

Os exemplos a seguir mostram várias maneiras de usar as preferências de associação ao canal e as regras de filtro.

Impedir que as mensagens cheguem aos remetentes

Essa regra de filtro envia mensagens a todos os membros do canal, exceto ao remetente da mensagem.

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

Os usuários da instância da aplicação com as preferências exibidas acima recebem uma mensagem do canal com os seguintes atributos:

"MessageAttributes": { "senderId": { "StringValues": ["USER_ARN"] } }
Correspondência de string inclusiva

Essa regra de filtro permite qualquer mensagem com a chave de atributo de mensagem “menção” e o valor “Bob”.

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

Um usuário da instância da aplicação com as preferências mostradas acima recebe uma mensagem do canal com os seguintes atributos:

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

No entanto, o usuário da instância do aplicativo não receberá uma mensagem do canal com os seguintes atributos:

"MessageAttributes": { "mention": { "StringValues": ["Tom"] } }
Correspondência de string exclusiva

Essa regra de filtro permite qualquer mensagem, exceto aquelas que contêm a chave de atributo “tipo” e o valor “Sala”.

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

Um usuário da instância do aplicativo com essas preferências recebe uma mensagem de canal com os seguintes atributos da mensagem:

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

No entanto, o usuário da instância do aplicativo não vê uma mensagem do canal com os seguintes atributos:

"MessageAttributes": { "type": { "StringValues": ["Room"] } }
Uma regra de filtro múltiplo com lógica AND

Quando você combina regras de filtro com a lógica AND, uma mensagem deve atender a todos os critérios de filtragem para que o filtro seja aplicado.

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

Um usuário da instância do aplicativo com as preferências acima recebe uma mensagem de canal com os seguintes atributos da mensagem:

"MessageAttributes": { "mention": { "StringValues": ["Bob"] }, "type": { "StringValues": ["Conversation"] } }
Uma regra de filtro múltiplo com lógica OR

Use $or para combinar regras de filtro com a lógica OR. Quando você usa a lógica OR, uma mensagem deve atender a um dos critérios para que o filtro seja aplicado.

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

Um usuário da instância do aplicativo com as preferências acima recebe uma mensagem de canal com os seguintes atributos da mensagem:

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

Um usuário da instância do aplicativo com as preferências acima recebe uma mensagem de canal com os seguintes atributos da mensagem:

"MessageAttributes": { "type": { "StringValues": ["Conversation"] } }
PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.