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

## マクロの基本

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

### マクロ一覧の使用

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

![](https://1832353165-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lry9Z27iWOZyQEGAgY7%2F-MDznZofHxtxipL9PR1e%2F-MDzrSYokboEFegL0l_0%2FScreen%20Shot%202020-08-05%20at%201.24.01%20PM.png?alt=media\&token=d9e7154a-31a4-4364-b40c-ced9323dcf6d)

{% 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" %}
ぜひ当社の [プレビュー機能](https://documentation.pushly.com/pushly-ja/platform/notifications/notification-previews) を使って、マクロが期待どおりに表示されることを確認してください!
{% 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" %}
相対日付形式の文法には曖昧さがあるため、必ず [通知プレビュー](https://documentation.pushly.com/pushly-ja/platform/notifications/notification-previews) 機能を使って、相対日付が正しく解釈されることを確認してください。
{% endhint %}
