# Liquid في In-App

اكتب [Liquid](/ar/product/personalization/liquid-templates/) في محتوى In-App لتعرض لكل مستخدم بياناته الخاصة: قيم Tags الخاصة به، وسمات الحدث الذي أطلق In-App، وUser ID الخاص به. على سبيل المثال، رحّب بالمستخدم باسمه واعرض الرمز الترويجي الذي تم تمريره في الحدث.

<Aside type="note">
ميزة Liquid في In-App معطلة افتراضياً. لتفعيلها لحسابك، تواصل مع Customer Success Manager الخاص بك أو مع فريق الدعم.
</Aside>

## أين يعمل Liquid في In-App

يعمل Liquid فقط في In-App الذي تعرضه Journey باستخدام [عنصر In-App](/ar/product/customer-journey/journey-elements/channels/in-app/). يعمل كلا وضعي **عرض الرسالة داخل التطبيق**: **عند التشغيل التالي للتطبيق** و**عند حدث**.

اكتب Liquid في أحد هذه الأماكن:

* نص كتلة في المحرر المدمج، مثل [كتلة HTML](/ar/product/content/in-apps/no-code-in-app-editor/built-in-editor-blocks-reference/#html) أو كتلة **Text**. يعمل النص بكل لغات In-App.
* ملف `index.html` ضمن أرشيف HTML مرفوع.
* حقل نصي في [In-App أصلي](/ar/product/content/in-apps/create-native-in-app-messages/).

## إضافة Liquid إلى In-App

لإضافة Liquid، اكتبه في محرر In-App، ثم حدد In-App في Journey.

1. افتح In-App في المحرر المدمج.
2. أضف كتلة **HTML**، أو حدد كتلة موجودة.
3. في حقل **HTML**، اكتب كود Liquid يدوياً.

   <img src="/personalization-liquid-templates-8.webp" alt="إعدادات كتلة HTML في محرر In-App مع كود Liquid يرحّب بالمستخدم حسب firstName، ويعرض الوسم loyalty_tier بأحرف كبيرة، وسمة الحدث promo_code، وشرط if للمستوى gold" width="407"/>

4. انقر على **Save**.
5. في عنصر **In-App** في Journey الخاصة بك، حدد In-App في **Media Source**.
6. إذا كان In-App يستخدم سمات الحدث، فاختر **عند حدث** في **عرض الرسالة داخل التطبيق** وحدد الحدث.

تعرض معاينة المحرر كود Liquid كما هو مكتوب. يرى كل مستخدم قيمه الخاصة.

<Aside type="note">
لا يُدرج زر **Merge tag** كود Liquid، بل يُدرج عنصراً نائباً للمحتوى الديناميكي مثل `{firstName|regular|}`. تعمل العناصر النائبة وLiquid معاً في In-App واحد.
</Aside>

في هذا المثال، `firstName` و`loyalty_tier` هما Tags، و`promo_code` هي سمة للحدث الذي يعرض In-App:

<Tabs>
<TabItem label="الإدخال">

```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="الإخراج">

Hi, Anna!

Your GOLD code: AUTUMN-42

Shipping is on us today.

</TabItem>

</Tabs>

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

## البيانات التي يمكنك استخدامها

تتوفر هذه القيم في Liquid الخاص بـ In-App:

| القيمة | ما هي | طريقة كتابتها |
|---|---|---|
| [Tag](/ar/product/audience-data-and-segmentation/user-data-tags/tags/) | جزء من بيانات المستخدم مخزّن في Pushwoosh، مثل اسم المستخدم. يعرض In-App القيمة التي يحملها لحظة عرضه. | `{{ loyalty_tier }}` |
| سمة الحدث | سمة للحدث المحدد في وضع **عند حدث** لعنصر In-App. إذا كان للسمة الاسم نفسه الذي يحمله Tag، تُستخدم قيمة السمة. | `{{ promo_code }}` |
| User ID | المعرّف الذي يعيّنه تطبيقك للمستخدم. | `{{ userid }}`, بأحرف صغيرة |
| HWID | معرّف الجهاز (Hardware ID) الخاص بجهاز المستخدم في Pushwoosh. | `{{ hwid }}`, بأحرف صغيرة |

## كتابة أسماء المتغيرات

اتبع هذه القواعد عند كتابة اسم متغير:

* اكتب الاسم تماماً كما هو في Pushwoosh، بما في ذلك الأحرف الكبيرة. الاسم غير المطابق، مثل `{{ firstname }}` لـ Tag `firstName`، يظهر كنص فارغ.
* اكتب أسماء Tags والسمات دون مسافات: `{{ LoyaltyTier }}` لـ Tag باسم `Loyalty Tier`.
* لعرض قيمة بديلة بدلاً من النص الفارغ، أضف المرشح `default`: `{{ firstName | default: "there" }}`.

## تغيير طريقة عرض القيمة

لتغيير طريقة عرض القيمة، أضف [مرشح Liquid](https://shopify.github.io/liquid/filters/abs/). تعمل جميع المرشحات القياسية، مثل `upcase` و`capitalize` و`date` و`truncate`، وكذلك مرشح Pushwoosh `timezone`.

## قيود Liquid في In-App

في In-App، لـ Liquid القيود التالية:

* إذا أرسلت In-App كحملة رسائل فورية داخل التطبيق (**الحملات** > **رسائل فورية داخل التطبيق**)، فلن يُطبَّق Liquid وسيرى المستخدمون الكود كما هو مكتوب. استخدم بدلاً من ذلك العناصر النائبة لـ[المحتوى الديناميكي](/ar/product/personalization/dynamic-content/).
* `{% include %}` غير مدعوم. اكتب الكود كاملاً في In-App نفسه.
* [المحتوى المتصل](/ar/product/personalization/liquid-templates/connected-content/) غير مدعوم. استخدم بدلاً منه القيم الواردة في [البيانات التي يمكنك استخدامها](#data-you-can-use).
* إذا كان حجم أرشيف In-App أكبر من 1 ميغابايت، فلن يُطبَّق Liquid وسيرى المستخدم الكود كما هو مكتوب.
* إذا كان في كود Liquid خطأ، مثل `{% if %}` غير مغلق، فسيرى المستخدم In-App مع الكود كما هو مكتوب. تحقق من In-App على جهازك قبل إطلاق Journey.