Verwenden von Filterregeln zum Filtern von Nachrichten - Amazon Chime SDK

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verwenden von Filterregeln zum Filtern von Nachrichten

Das Amazon Chime SDK unterstützt das Festlegen von Filterregeln für die Channel-Mitgliedschaft eines App-Instance, um zu begrenzen, welche Nachricht er erhalten wird. Filterregeln werden für die Channel-Mitgliedschaft festgelegt und werden mit der Zuordnung der Nachrichtenattribute ausgeführt. Die Nachrichtenattributzuordnung muss eine Zuordnung von String-Schlüsseln zu String-Werten sein. Filterregeln unterstützen Inklusion und Ausschluss mit exaktem String-Matching.

Wichtig

Das Amazon Chime SDK unterstützt nur Escaped JSON-Strings als Filterregel.

Um Filterregeln für die Channel-Mitgliedschaft festzulegen, verwenden Sie dieputChannelMemberShippReferenzenAPI. Sie können Nachrichtenattribute in eine Channel-Nachricht als Teil desSendChannelMessageAPI-Aufruf.

Filterregeltypen

Das Amazon Chime SDK unterstützt die folgenden Filterregeltypen:

  • Inklusive exaktem String-Matching

  • Exklusive exakte String-

  • Mehrere Filterregeln mit AND oder ODER

Regelgrenzwerte filtern

Das Amazon Chime SDK erlegt die folgenden Einschränkungen für Filterregeln:

  • Wir unterstützen nur den exakten String-Matching.

  • Eine Gesamtgröße der Filterregeln von 2 KB.

  • Eine Gesamtgröße des Nachrichtenattributs von 1 KB.

  • Maximal fünf (5) separate Beschränkungen innerhalb einer ODER-Filterregel.

  • Eine maximale Komplexität von 20 für die gesamte Filterregel. Komplexitätwird als Summe der Anzahl der Schlüssel und Werte in der Filterregel berechnet:

    Diese Filterregel hat beispielsweise eine Komplexität von 4.

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

    Wir berechnen diesen Wert wie folgt:

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

Beispiel für Channel-Mitgliedschaftseinstellungen mit Filterregeln

Die folgenden Beispiele zeigen verschiedene Möglichkeiten, Einstellungen für die Channel-Mitgliedschaft und Filterregeln zu verwenden.

Inklusive Zeichenfolgenübereinstimmung

Diese Filterregel erlaubt jede Nachricht mit dem Nachrichtenattributschlüssel „erwähnen“ und dem Wert „Bob“.

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

Ein App-Instanzbenutzer mit den oben genannten Einstellungen erhält eine Channel-Nachricht mit den folgenden Nachrichtenattributen:

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

Der Benutzer der App-Instance erhält jedoch keine Channel-Nachricht mit den folgenden Attributen:

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

Exklusive Zeichenfolgenübereinstimmung

Diese Filterregel erlaubt jede Nachricht mit Ausnahme derjenigen, die den Attributschlüssel „type“ und den Wert „Raum“ enthalten.

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

Ein App-Instanzbenutzer mit diesen Einstellungen erhält eine Channel-Nachricht mit den folgenden Nachrichtenattributen:

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

Dem App-Instanzbenutzer wird jedoch keine Channel-Nachricht mit den folgenden Attributen angezeigt:

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

Eine Mehrfachfilterregel mit UND-Logik

Wenn Sie Filterregeln mit UND-Logik kombinieren, muss eine Nachricht alle Filterkriterien erfüllen, damit der Filter angewendet werden kann.

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

Ein App-Instanzbenutzer mit den oben genannten Einstellungen erhält eine Channel-Nachricht mit den folgenden Nachrichtenattributen:

"MessageAttributes": { "mention": { "StringValues": ["Bob"] }, "type": { "StringValues": ["Conversation"] } }

Eine Mehrfachfilterregel mit ODER-Logik

Du benutzt$orum Filterregeln mit ODER-Logik zu kombinieren. Wenn Sie ODER-Logik verwenden, muss eine Nachricht eines der Kriterien erfüllen, auf die der Filter angewendet werden soll.

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

Ein App-Instanzbenutzer mit den oben genannten Einstellungen erhält eine Channel-Nachricht mit den folgenden Nachrichtenattributen:

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

Ein App-Instanzbenutzer mit den oben genannten Einstellungen erhält eine Channel-Nachricht mit den folgenden Nachrichtenattributen:

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