# Liquid dans les in-apps

Écrivez du [Liquid](/fr/product/personalization/liquid-templates/) dans le contenu d'un in-app pour montrer à chaque utilisateur ses propres données : ses valeurs de tags, les attributs de l'événement qui a déclenché l'in-app et son User ID. Par exemple, saluez l'utilisateur par son prénom et affichez le code promo transmis dans l'événement.

<Aside type="note">
Liquid dans les in-apps est désactivé par défaut. Pour l'activer sur votre compte, contactez votre Customer Success Manager ou le support.
</Aside>

## Où Liquid fonctionne dans les in-apps

Liquid ne fonctionne que dans un in-app qu'un journey affiche avec l'[élément In-App](/fr/product/customer-journey/journey-elements/channels/in-app/). Les deux modes **Afficher l'in-app** fonctionnent : **Au prochain lancement de l'app** et **Sur événement**.

Écrivez le Liquid à l'un de ces emplacements :

* Le texte d'un bloc de l'éditeur intégré, comme un [bloc HTML](/fr/product/content/in-apps/no-code-in-app-editor/built-in-editor-blocks-reference/#html) ou un bloc **Text**. Le texte fonctionne dans toutes les langues de l'in-app.
* Le fichier `index.html` d'une archive HTML importée.
* Un champ de texte d'un [in-app natif](/fr/product/content/in-apps/create-native-in-app-messages/).

## Ajouter du Liquid à un in-app

Pour ajouter du Liquid, écrivez-le dans l'éditeur d'in-app, puis sélectionnez l'in-app dans un journey.

1. Ouvrez l'in-app dans l'éditeur intégré.
2. Ajoutez un bloc **HTML** ou sélectionnez-en un existant.
3. Dans le champ **HTML**, saisissez le code Liquid à la main.

   <img src="/personalization-liquid-templates-8.webp" alt="Paramètres du bloc HTML dans l'éditeur d'in-app avec du code Liquid qui salue l'utilisateur par firstName, affiche le tag loyalty_tier en majuscules, l'attribut d'événement promo_code et une condition if pour le niveau gold" width="407"/>

4. Cliquez sur **Save**.
5. Dans l'élément **In-App** de votre journey, sélectionnez l'in-app dans **Media Source**.
6. Si l'in-app utilise des attributs d'événement, choisissez **Sur événement** dans **Afficher l'in-app** et sélectionnez l'événement.

L'aperçu de l'éditeur affiche le code Liquid tel qu'il est écrit. Chaque utilisateur voit ses propres valeurs.

<Aside type="note">
Le bouton **Merge tag** n'insère pas de Liquid. Il insère un espace réservé de contenu dynamique comme `{firstName|regular|}`. Les espaces réservés et le Liquid fonctionnent ensemble dans un même in-app.
</Aside>

Dans cet exemple, `firstName` et `loyalty_tier` sont des tags, et `promo_code` est un attribut de l'événement qui affiche l'in-app :

<Tabs>
<TabItem label="Entrée">

```liquid
<h2>
Hi, {{ firstName | default: "there" }}!
</h2>
<p>
Your {{ loyalty_tier | upcase }} code:
<b>{{ promo_code }}</b>
</p>
{% if loyalty_tier == "gold" %}
<p>Shipping is on us today.</p>
{% endif %}
```

</TabItem>

<TabItem label="Sortie">

Hi, Anna!

Your GOLD code: AUTUMN-42

Shipping is on us today.

</TabItem>

</Tabs>

<span id="data-you-can-use" />

## Données disponibles

Ces valeurs sont disponibles dans le Liquid d'un in-app :

| Valeur | Description | Comment l'écrire |
|---|---|---|
| [Tag](/fr/product/audience-data-and-segmentation/user-data-tags/tags/) | Une donnée utilisateur stockée dans Pushwoosh, comme le nom de l'utilisateur. L'in-app affiche la valeur qu'elle a au moment où l'in-app est affiché. | `{{ loyalty_tier }}` |
| Attribut d'événement | Un attribut de l'événement sélectionné dans le mode **Sur événement** de l'élément In-App. Si un attribut porte le même nom qu'un tag, c'est la valeur de l'attribut qui est utilisée. | `{{ promo_code }}` |
| User ID | L'ID que votre application attribue à l'utilisateur. | `{{ userid }}`, en minuscules |
| HWID | L'identifiant matériel de l'appareil de l'utilisateur dans Pushwoosh. | `{{ hwid }}`, en minuscules |

## Écrire les noms de variables

Suivez ces règles lorsque vous saisissez un nom de variable :

* Saisissez le nom exactement tel qu'il figure dans Pushwoosh, majuscules comprises. Un nom qui ne correspond pas, par exemple `{{ firstname }}` pour le tag `firstName`, s'affiche comme un texte vide.
* Écrivez les noms de tags et d'attributs sans espaces : `{{ LoyaltyTier }}` pour un tag nommé `Loyalty Tier`.
* Pour afficher une valeur de repli au lieu d'un texte vide, ajoutez le filtre `default` : `{{ firstName | default: "there" }}`.

## Modifier l'affichage d'une valeur

Pour modifier l'affichage d'une valeur, ajoutez un [filtre Liquid](https://shopify.github.io/liquid/filters/abs/). Tous les filtres standard fonctionnent, par exemple `upcase`, `capitalize`, `date` et `truncate`, ainsi que le filtre Pushwoosh `timezone`.

## Limitations de Liquid dans les in-apps

Dans un in-app, Liquid présente ces limites :

* Si vous envoyez l'in-app comme campagne In-apps instantanés (**Campagnes** > **In-apps instantanés**), Liquid n'est pas appliqué et les utilisateurs voient le code tel qu'il est écrit. Utilisez plutôt des espaces réservés de [contenu dynamique](/fr/product/personalization/dynamic-content/).
* `{% include %}` n'est pas pris en charge. Écrivez le code complet dans l'in-app lui-même.
* Le [contenu connecté](/fr/product/personalization/liquid-templates/connected-content/) n'est pas pris en charge. Utilisez plutôt les valeurs de [Données disponibles](#data-you-can-use).
* Si l'archive de l'in-app dépasse 1 Mo, Liquid n'est pas appliqué et l'utilisateur voit le code tel qu'il est écrit.
* Si le code Liquid contient une erreur, par exemple un `{% if %}` non fermé, l'utilisateur voit l'in-app avec le code tel qu'il est écrit. Vérifiez l'in-app sur votre propre appareil avant de lancer le journey.