# LINE メッセージタイプ

Engage Studio の One-off Campaign では、複数の LINE メッセージタイプをサポートしています。このページでは、利用可能なメッセージタイプ、設定フィールド、バリデーションルール、パーソナライズオプションについて説明します。

## 共通仕様

1 回の配信で最大 **5 件のメッセージオブジェクト**を 1 つのバンドルに含めることができます。バンドル内のすべてのメッセージは、LINE Messaging API への単一の API コールでまとめて配信されます。受信者には LINE チャット上でメッセージが順番に届きます。

| 仕様 | 値 |
|  --- | --- |
| 1 キャンペーンあたりの最大メッセージオブジェクト数 | 5 |
| サポートされているタイプ | Text（v2）、Imagemap、Flex Message |


バンドル内のメッセージオブジェクトが失敗した場合（例: テキスト文字数超過）、そのオブジェクトのみが失敗として記録されます。同じバンドル内で成功した他のメッセージは個別に記録されます。

## Text メッセージ（Text v2）

### ユースケース

- プロモーションのお知らせや時間限定の通知
- パーソナライズされた挨拶やロイヤルティステータスの更新
- クーポンコードや割引の説明
- 購入・登録後のフォローアップメッセージ


### テキストフィールド

| フィールド | 説明 |
|  --- | --- |
| **Text** | メッセージ本文。改行および Liquid テンプレート変数をサポート |


**文字数制限**: LINE の Text v2 メッセージは 5,000 文字が上限です。Liquid 変数は配信時に展開されるため、作成時点での文字数検証は行われません。あるプロファイルで展開後のテキストが 5,000 文字を超えた場合、LINE にそのメッセージが拒否され、配信ログに失敗として記録されます。

### Liquid によるパーソナライズ

Text メッセージは Liquid テンプレート構文をサポートしています。変数は配信時にプロファイルごとに展開されます。

**よく使う変数:**

```liquid
{{ profile.first_name }}
{{ profile.last_name }}
{{ profile.loyalty_tier }}
{{ profile.coupon_code }}
```

**デフォルト値**（プロファイル属性が null または空の場合に使用）:

```liquid
{{ profile.first_name | default: "お客様" }}
```

**条件付きコンテンツ** — `if`/`else`/`endif` タグを使ってプロファイル属性に応じたテキストを出し分けできます。

- 条件: `{%- if profile.loyalty_tier == "gold" -%}`
- 真の場合: `ゴールド会員限定オファー: {{ profile.offer_text }}`
- 偽の場合 (`{%- else -%}`): `最新のキャンペーンをご覧ください！`
- 終了: `{%- endif -%}`


Liquid 展開と文字数制限
変数値が長いケースも含めてテストし、展開後のテキストが 5,000 文字以内に収まることを確認してください。制限を超えたメッセージは LINE に拒否され、該当プロファイルの配信エラーとして記録されます。

### 未サポートの機能（Milestone 1）

以下の LINE Text v2 API 機能は現在のリリースではサポートされておらず、将来のマイルストーンで対応予定です。

- **メンション置換** — LINE ユーザーをハンドルでメンションする機能
- **LINE 絵文字** — LINE ネイティブの絵文字コード（プレーンテキストの Unicode 絵文字はサポート）
- **高度な置換オブジェクト** — Liquid 変数展開以上のカスタム置換スキーマ


## Imagemap メッセージ

Imagemap メッセージは、1 枚のバナー画像の上に 1 つ以上のタップ可能な領域を重ねて表示するメッセージタイプです。各領域は長方形のタップエリアで、タップすると URL を開く・メッセージを送信する・テキストをクリップボードにコピーするアクションを実行できます。メッセージ全体が画像として描画されるため、レイアウトやブランドイメージを重視するビジュアルリッチなプロモーションに適しています。

Imagemap メッセージは LINE チャット上で 1 枚の画像として配信されます。受信者が各領域をタップすると、設定されたアクションが実行されます。なお、画像上にテキストラベルは表示されないため、各タップエリアの意図がビジュアルデザインだけで伝わるよう設計する必要があります。

### ユースケース

- 複数のタップ可能な CTA エリアを持つプロモーションバナー（例：「今すぐ購入」「詳細を見る」「レシピを見る」）
- 個別製品リンク付きの商品紹介画像
- 登録リンクや詳細リンクを含むイベント告知
- 1 枚のバナー画像を使ったキャンペーンランディングページへの誘導


### 画像要件

| 要件 | 仕様 |
|  --- | --- |
| **受け付けるフォーマット** | JPEG、PNG |
| **アップロード時の必須幅** | 1040 px |
| **アスペクト比** | 自由（高さは設定可能）。ただし一貫したアスペクト比を推奨 |
| **最大ファイルサイズ** | 10 MB |


画像幅の要件
必ず 1040 px 幅で画像をアップロードしてください。小さいサイズは LINE が自動生成します。低解像度でアップロードすると、LINE がアップスケールする際に画質が劣化します。

Imagemap メッセージエディタ — ベース画像をアップロードし、Link URI・位置・サイズでタップエリアを設定
### Imagemap フィールド

| フィールド | 必須 | 説明 |
|  --- | --- | --- |
| **Alt Text** | 必須 | アクセシビリティコンテキストや画像を表示できない場合にユーザーに表示されるテキスト |
| **Tap Areas** | 必須（最低 1 つ） | 画像上のタップ可能な領域の配列（最大 50 個） |


### タップエリアの設定

各タップエリアは、Imagemap 上の矩形領域と、ユーザーがタップしたときにトリガーされるアクションを定義します。

| フィールド | 必須 | 説明 |
|  --- | --- | --- |
| **x** | 必須 | 左上隅の水平位置（1040 px 幅基準での左端からのピクセル数） |
| **y** | 必須 | 左上隅の垂直位置（上端からのピクセル数） |
| **Width** | 必須 | タップエリアの幅（ピクセル） |
| **Height** | 必須 | タップエリアの高さ（ピクセル） |
| **Action Type** | 必須 | `uri`（現在のリリースでサポートされている唯一のタイプ） |
| **Action Value** | 必須 | タップ時に開く URL |


**アクションタイプ:**

| タイプ | 説明 | 主な用途 |
|  --- | --- | --- |
| `uri` | LINE ブラウザまたは外部ブラウザで URL を開く | ランディングページ、商品ページ |
| `message` | *(将来リリース予定)* ユーザーから LINE OA への定型テキストメッセージを送信 | — |
| `clipboard` | *(将来リリース予定)* テキスト文字列をユーザーのクリップボードにコピー | — |


タップエリアの重複は許可されています。エリアが重複する場合、リスト内で上位のエリアが優先されます。

### 座標系

タップエリアの座標は、アップロードした画像の寸法に合わせた 1040 × 高さ のピクセル空間で定義します。

```
(0,0) ─────────────────────── (1040,0)
  │                                │
  │         画像キャンバス          │
  │                                │
(0,高さ) ──────────────── (1040,高さ)
```

例 — バナーを左右に均等分割する場合:

| エリア | x | y | Width | Height | アクション |
|  --- | --- | --- | --- | --- | --- |
| 左半分 | 0 | 0 | 520 | 520 | `uri` → 商品 A ページ |
| 右半分 | 520 | 0 | 520 | 520 | `uri` → 商品 B ページ |


### バリデーション

エディタは保存時に以下の項目を検証します。

- `baseUrl` が存在し、HTTPS を使用している
- `altText` が存在する
- `baseSize.width` が正確に `1040` である
- `baseSize.height` が正の整数である
- タップエリアが少なくとも 1 つ定義されている
- すべてのタップエリアフィールドが非負の整数である
- 各タップエリアに有効なアクションタイプと値が設定されている


## Flex Message

Engage Studio は [LINE Flex Message](https://developers.line.biz/ja/reference/messaging-api/#flex-message) をサポートしており、リッチで高度にカスタマイズ可能なレイアウトを配信できます。

LINE の Flex Message スキーマに準拠した JSON ペイロードをメッセージエディタにペーストしてください。エディタは `altText` が存在することと、`contents` ブロックが有効な `bubble` または `carousel` であることを検証します。

すぐに使える JSON テンプレートは [Flex Message テンプレートギャラリー](/ja/products/marketing-cloud/engage-studio/channels/line/line-oa-flex-message-gallery) で確認できます。

### 将来のリリース

以下のメッセージタイプは将来の Engage Studio リリースで対応予定であり、現在は利用できません。

| タイプ | 状況 | 説明 |
|  --- | --- | --- |
| **Image** | 予定 | シングル画像メッセージ |
| **Video** | 予定 | 動画メッセージ |
| **Sticker** | 予定 | LINE スタンプメッセージ |


これらのメッセージタイプに関する具体的な要件がある場合は、カスタマーサクセス担当者にお問い合わせください。

## 現在の制限事項

| 制限事項 | 詳細 |
|  --- | --- |
| LINE 絵文字コード | 非サポート。代わりに Unicode 絵文字を使用してください |
| クーポンメッセージタイプ | 現在のリリースでは非サポート |
| Rich Video Message | 現在のリリースでは非サポート |
| Text v2 メンション置換 | 現在のリリースでは非サポート |
| Always-on Campaign | LINE チャネルは Always-on Campaign では未サポート。One-off Campaign のみ対応 |


## 関連ドキュメント

- [One-off LINE キャンペーンの作成](/ja/products/marketing-cloud/engage-studio/channels/line/line-oa-campaigns)
- [クリックトラッキング](/ja/products/marketing-cloud/engage-studio/channels/line/line-oa-click-tracking)
- [LINE キャンペーンのテスト](/ja/products/marketing-cloud/engage-studio/channels/line/line-oa-testing)
- [LINE Messaging API リファレンス](https://developers.line.biz/ja/reference/messaging-api/)