# マクロ / Liquidテンプレート

## マクロの基本

マクロを使用すると、通知を受け取る各購読者ごとに通知の要素を個別化できます。

### マクロ一覧の使用

利用可能なマクロの一覧は、タイトル、本文、またはランディングURLのテキストボックス内にある `{}` アイコンをクリックすると表示されます。一覧が開いたら、任意のマクロをクリックして自動的に挿入します。

![](/files/328353b0b43803b5681c039ffdfc270ecbcab43c)

{% hint style="info" %}
購読者プロパティを送信している場合 [当社のSDK経由で](https://documentation.pushly.com/sdk/methods#adding-attributes-to-a-subscribers-profile) またはカスタム統合を使用している場合、マクロ一覧には `カスタム` グループの下にこれらもオプションとして表示されます。
{% endhint %}

### デフォルト値の指定

マクロを使用する際は、常にデフォルトの置換値を指定するのが望ましいです。これにより、選択したマクロの値が購読者に存在しない場合でも、表示されるテキストが意味の通るものになります。

デフォルト値を指定するには、マクロ名の後に次を追加します:

```
{{profile.city | default: "your area"}}
```

### 例

天候イベントに焦点を当てた通知を送信し、複数の都市を含む地域を対象にしたいが、通知タイトルには購読者の都市を表示したい場合は、次のようにできます:

```
{{profile.city | default: "your area"}}での竜巻警報。避難してください!
```

&#x20;上記の例では、通知を受け取る購読者のプロフィールに都市があれば、タイトルは次のように表示されます: `マイアミでの竜巻警報。避難場所へ!`。都市がない場合、タイトルは次のようになります `あなたの地域での竜巻警報。避難場所へ!`.

{% hint style="info" %}
ぜひ当社の [プレビュー機能](/pushly-ja/platform/notifications/notification-previews.md) を使って、マクロが期待どおりに表示されることを確認してください!
{% endhint %}

## 高度な使用方法

当社のマクロ機能では、置換値にさらにカスタマイズを加えるために [Liquidテンプレート](https://shopify.github.io/liquid/basics/introduction/) の使用をサポートしています。制御フロータグや反復タグに加え、ほとんどのフィルターの使用もサポートしています。&#x20;

通知用のマクロ作成に সাহাযが必要な場合は、アカウントマネージャーにお問い合わせください。 &#x20;

### フィルター: 日付フォーマット

次の `date` フィルターを使うと、日付を希望する任意の形式に変換できます。たとえば、購読者が通知の受信をオプトインした日付をランディングページURLに含めるには、次のようにします:

```
https://ex.com/?subscribed={{profile.subscribed_date | date: '%Y-%m-%d'}}
```

次の日時フォーマット文字列がサポートされています:

| 入力 | 形式                         |
| -- | -------------------------- |
| %a | 曜日の省略名（例: `Sun`)           |
| %A | 曜日の完全名（例: `Sunday`)        |
| %b | 月名の省略名（例: `Jan`)           |
| %B | 月名の完全名（例: `January`)       |
| %d | 月内の日付（01..31）              |
| %e | 月内の日付（1..31）               |
| %H | 時刻の時間（24時間表記）（00..23）      |
| %I | 時刻の時間（12時間表記）（01..12）      |
| %k | 時刻の時間（24時間表記）（0..23）       |
| %l | 時刻の時間（12時間表記）（0..12）       |
| %m | 年内の月（01..12）               |
| %M | 時刻の分（00..59）               |
| %p | 午前/午後の指標（例: `AM` または `PM`) |
| %S | 分内の秒（00..60）               |
| %Y | 世紀を含む年                     |
| %% | リテラル `%` 文字                |

### フィルター: 相対日付

「 `relative_date` フィルターを使うと、さまざまな文法の日付形式で日付を指定し、絶対日付に変換できます。

たとえば、通知URLに先週の土曜日の日付を含めて `年/月/日` 形式にしたい場合は、次のマクロを指定できます:

```
https://ex.com/{{'the saturday before today' | relative_date | date: '%Y/%m/%d'}}/example
```

{% hint style="info" %}
次の `date` フィルターを使って、日付を希望の形式に整形している点に注意してください。指定しない場合、 `relative_date` フィルターは [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) 形式の日付を返します（例:`2020-09-10T15:41:41）。`
{% endhint %}

使用できる相対日付形式の追加例をいくつか示します:

```
次の木曜日
先週の水曜日
今日
明日
昨日
来週
来月
来年
今から3日後
3週間前
```

さらに、計算された日付を調整するために、上記の任意の表現の前に次の語を付けることができます:

```
翌日
前日
次の月曜日
前の月曜日
2回前の金曜日
4回後の火曜日
```

{% hint style="warning" %}
相対日付形式の文法には曖昧さがあるため、必ず [通知プレビュー](/pushly-ja/platform/notifications/notification-previews.md) 機能を使って、相対日付が正しく解釈されることを確認してください。
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://documentation.pushly.com/pushly-ja/platform/notifications/macros.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
