Skip to content

Operatoren

Liquid unterstützt viele Operatoren, die Sie in Ihren bedingten Anweisungen verwenden können. Diese Seite behandelt die von Liquid unterstützten Operatoren und zeigt Anwendungsfälle, wie Sie diese in Ihren Nachrichten einsetzen können.

Diese Tabelle listet die unterstützten Operatoren auf. Beachten Sie, dass Klammern in Liquid ungültige Zeichen sind und verhindern, dass Ihre Tags funktionieren.

Syntax Beschreibung des Operators
== ist gleich
!= ist nicht gleich
> größer als
< kleiner als
>= größer als oder gleich
<= kleiner als oder gleich
or Bedingung A oder Bedingung B
and Bedingung A und Bedingung B
contains prüft, ob ein String oder String-Array einen String enthält

Bedingungen ohne Klammern gruppieren

Liquid unterstützt keine Klammern zum Gruppieren von Ausdrücken. Um komplexe boolesche Logik wie (a and b) or c auszuwerten, verwenden Sie verschachtelte if-Anweisungen oder Zwischenvariablen.

Um beispielsweise zu prüfen, ob ein Wert eine zusammengesetzte Bedingung erfüllt, weisen Sie eine Zwischenvariable zu:

1
2
3
4
5
6
7
8
9
10
{% assign qualifies = false %}
{% if points > 100 %}
{% assign qualifies = true %}
{% elsif points == 100 and member_level == 'gold' %}
{% assign qualifies = true %}
{% endif %}

{% if qualifies %}
You qualify for a reward!
{% endif %}

Tutorials

Lassen Sie uns einige Tutorials durchgehen, um zu lernen, wie Sie diese Operatoren für Ihre Marketingkampagnen einsetzen können:

Eine Nachricht mit einem ganzzahligen angepassten Attribut auswählen

Senden wir Push-Benachrichtigungen mit personalisierten Rabattaktionen an Nutzer:innen, die Käufe getätigt haben oder nicht. Die Push-Benachrichtigung verwendet ein ganzzahliges angepasstes Attribut namens total_spend, um die Gesamtausgaben der Nutzer:innen zu prüfen.

  1. Schreiben Sie eine bedingte Anweisung mit dem Größer-als-Operator (>), um zu prüfen, ob die Gesamtausgaben der Nutzer:innen größer als 0 sind, was darauf hinweist, dass sie einen Kauf getätigt haben. Erstellen Sie dann eine Nachricht, die an diese Nutzer:innen gesendet wird.
1
2
{% if {{custom_attribute.${total_spend}}} >0 %}
Surprise! We added a 15% discount code to your account that automatically applies to your next order.
  1. Fügen Sie den {% else %}-Tag hinzu, um Nutzer:innen zu erfassen, deren Gesamtausgaben gleich 0 sind oder nicht existieren. Erstellen Sie dann eine Nachricht, die an diese Nutzer:innen gesendet wird.
1
2
{% else %}
Need a sign to update your wardrobe? We added a 15% discount code to your account that will automatically apply to your first order.
  1. Schließen Sie die bedingte Logik mit dem {% endif %}-Tag ab.
1
{% endif %}

Ein Push-Benachrichtigungs-Composer mit dem vollständigen Liquid-Code aus dem Tutorial.

Vollständiger Liquid-Code
1
2
3
4
5
{% if {{custom_attribute.${total_spend}}} >0 %}
Surprise! We added a 15% discount code to your account that automatically applies to your next order.
{% else %}
Need a sign to update your wardrobe? We added a 15% discount code to your account that will automatically apply to your first order.
{% endif %}

Wenn nun das angepasste Attribut „Total Spend“ der Nutzer:innen größer als 0 ist, erhalten sie folgende Nachricht:

1
Surprise! We added a 15% discount code to your account that automatically applies to your next order.

Wenn das angepasste Attribut „Total Spend“ der Nutzer:innen nicht existiert oder gleich 0 ist, erhalten sie folgende Nachricht:

1
Need a sign to update your wardrobe? We added a 15% discount code to your account that will automatically apply to your first order.

Eine Nachricht mit einem String-basierten angepassten Attribut auswählen

Senden wir Push-Benachrichtigungen an Nutzer:innen und personalisieren die Nachricht basierend auf dem zuletzt gespielten Spiel jeder Person. Dazu wird ein String-basiertes angepasstes Attribut namens recent_game verwendet, um zu prüfen, welches Spiel zuletzt gespielt wurde.

  1. Schreiben Sie eine bedingte Anweisung mit dem Gleich-Operator (==), um zu prüfen, ob das zuletzt gespielte Spiel Awkward Dinner Party ist. Erstellen Sie dann eine Nachricht, die an diese Nutzer:innen gesendet wird.
1
2
{% if {{custom_attribute.${recent_game}}} == 'Awkward Dinner Party' %}
You are formally invited to our next dinner party. Log on next week for another round of delectable dishes and curious conversations.
  1. Verwenden Sie den elsif-Tag mit dem Gleich-Operator (==), um zu prüfen, ob das zuletzt gespielte Spiel Proxy War 3: War of Thirst ist. Erstellen Sie dann eine Nachricht, die an diese Nutzer:innen gesendet wird.
1
2
{% elsif {{custom_attribute.${recent_game}}} == 'Proxy War 3: War of Thirst' %}
Your fleet awaits your next orders. Log on when you're ready to rejoin the war for hydration.
  1. Verwenden Sie den elsif-Tag mit den Operatoren „ist nicht gleich“ (!=) und „und“ (and), um zu prüfen, ob die Nutzer:innen ein kürzlich gespieltes Spiel haben (d. h. der Wert ist nicht leer) und dass das Spiel weder Awkward Dinner Party noch Proxy War 3: War of Thirst ist. Erstellen Sie dann eine Nachricht, die an diese Nutzer:innen gesendet wird.
1
2
{% elsif {{custom_attribute.${recent_game}}} != blank and {{custom_attribute.${recent_game}}} != 'Awkward Dinner Party' and {{custom_attribute.${recent_game}}} != 'Proxy War 3: War of Thirst' %}
Limited Time Deal! Get 15% off our best-selling classics!
  1. Fügen Sie den {% else %}-Tag hinzu, um Nutzer:innen zu erfassen, die kein kürzlich gespieltes Spiel haben. Erstellen Sie dann eine Nachricht, die an diese Nutzer:innen gesendet wird.
1
2
{% else %}
Hey! I've got a deal for you. Buy 2 of our newest releases and get 10% off!
  1. Schließen Sie die bedingte Logik mit dem {% endif %}-Tag ab.
1
{% endif %}
Vollständiger Liquid-Code
1
2
3
4
5
6
7
8
9
{% if {{custom_attribute.${recent_game}}} == 'Awkward Dinner Party' %}
You are formally invited to our next dinner party. Log on next week for another round of delectable dishes and curious conversations.
{% elsif {{custom_attribute.${recent_game}}} == 'Proxy War 3: War of Thirst' %}
Your fleet awaits your next orders. Log on when you're ready to rejoin the war for hydration.
{% elsif {{custom_attribute.${recent_game}}} != blank and {{custom_attribute.${recent_game}}} != 'Awkward Dinner Party' and {{custom_attribute.${recent_game}}} != 'Proxy War 3: War of Thirst' %}
Limited Time Deal! Get 15% off our best-selling classics!
{% else %}
Hey! I've got a deal for you. Buy 2 of our newest releases and get 10% off!
{% endif %}

Ein Push-Benachrichtigungs-Composer mit dem vollständigen Liquid-Code aus dem Tutorial.

Wenn Nutzer:innen zuletzt Awkward Dinner Party gespielt haben, erhalten sie folgende Nachricht:

1
You are formally invited to our next dinner party. Log on next week for another round of delectable dishes and curious conversations.

Wenn das zuletzt gespielte Spiel Proxy War 3: War of Thirst ist, erhalten sie folgende Nachricht:

1
Your fleet awaits your next orders. Log on when you're ready to rejoin the war for hydration.

Wenn Nutzer:innen kürzlich ein Spiel gespielt haben, das weder Awkward Dinner Party noch Proxy War 3: War of Thirst war, erhalten sie folgende Nachricht:

1
Limited Time Deal! Get 15% off our best-selling classics!

Wenn Nutzer:innen keine Spiele gespielt haben oder dieses angepasste Attribut in ihrem Profil nicht existiert, erhalten sie folgende Nachricht:

1
Hey! I've got a deal for you. Buy 2 of our newest releases and get 10% off!

Nachricht basierend auf dem Standort abbrechen

Sie können eine Nachricht basierend auf nahezu allem abbrechen. Brechen wir eine Nachricht ab, wenn Nutzer:innen sich nicht in einem bestimmten Gebiet befinden, da sie möglicherweise nicht für die Aktion, Sendung oder Zustellung qualifiziert sind.

  1. Schreiben Sie eine bedingte Anweisung mit dem Gleich-Operator (==), um zu prüfen, ob die Zeitzone der Nutzer:innen America/Los_Angeles ist, und erstellen Sie dann eine Nachricht, die an diese Nutzer:innen gesendet wird.
1
2
{% if {{${time_zone}}} == 'America/Los_Angeles' %}
Stream now!
  1. Um zu vermeiden, dass Nachrichten an Nutzer:innen außerhalb der Zeitzone America/Los_Angeles gesendet werden, umschließen Sie einen {% abort_message () %}-Tag mit {% else %}- und {% endif %}-Tags.
1
2
3
{% else %}
{% abort_message () %}
{% endif %}
Vollständiger Liquid-Code
1
2
3
4
5
{% if {{${time_zone}}} =='America/Los_Angeles' %}
Stream now!
{% else %}
{% abort_message () %}
{% endif %}

Ein Push-Benachrichtigungs-Composer mit dem vollständigen Liquid-Code aus dem Tutorial.

Sie können Nachrichten auch basierend auf Connected-Content abbrechen.

Fehlerbehebung

Testversand kommt bei Verwendung von abort_message nicht an

Wenn Sie abort_message verwenden und ein Testversand nie ankommt, fehlen der Vorschau-Nutzer:in möglicherweise Attribute, die Ihr Liquid erwartet. Die Abbruchlogik wird beim Rendern ausgeführt; wenn sie greift, sendet Braze die Nachricht nicht. Verwenden Sie für die Vorschau Nutzer:innen mit den erforderlichen Profildaten oder nutzen Sie Als Nutzer:in anzeigen, um Empfängerfelder zu testen, die dieselben Werte liefern wie Ihre Produktionszielgruppe.

Die Vorschau kann Eigenschaftstypen falsch umwandeln

Bei der Vorschau einer Nachricht im Dashboard werden die meisten Variablen (wie angepasste Attribute) in den korrekten Typ umgewandelt. Einige Variablen haben jedoch keinen definierten Typ, den die Vorschau nachschlagen kann:

  • api_trigger_properties
  • canvas_entry_properties
  • context

Für diese Eigenschaften versucht die Vorschau, den Typ aus dem Wert abzuleiten. Das bedeutet, dass ein Wert, den Sie als String beabsichtigen, fälschlicherweise als Zahl interpretiert werden kann. Wenn beispielsweise ein Eigenschaftswert der String "3" ist, kann die Vorschau ihn in die Ganzzahl 3 umwandeln, was zu unerwartetem Verhalten bei String-Operationen wie contains oder split führen kann.

Wenn Sie bei der Verwendung dieser Eigenschaftstypen unerwartete Vorschauergebnisse sehen, beachten Sie, dass die Typableitung der Vorschau möglicherweise nicht mit dem übereinstimmt, was zum Sendezeitpunkt passiert. Zum Sendezeitpunkt werden die tatsächlichen Datentypen aus dem auslösenden Ereignis oder API-Aufruf beibehalten.

Um einen bestimmten Typ in der Vorschau zu erzwingen, können Sie den Wert explizit umwandeln:

1
2
3
4
5
{% comment %} Force a value to be treated as a number {% endcomment %}
{% assign orders = {{canvas_entry_properties.${number_of_orders}}} | plus: 0 %}

{% comment %} Force a value to be treated as a string {% endcomment %}
{% assign code = {{api_trigger_properties.${promo_code}}} | append: "" %}
New Stuff!