クイックリプライを使う

はじめに

注:クイックリプライ機能は、Android版とiOS版のLINE 8.11.0以降でサポートされます。

クイックリプライボタンを設定したメッセージをボットから受信すると、メッセージのほかに、トーク画面の下部にそれらのボタンが表示されます。ボタンをタップするだけで、ボットからのメッセージに簡単に返信できます。

ボットとの1対1トークだけでなく、グループとトークルームでもクイックリプライ機能を利用できます。また、どのメッセージタイプでも、1つのメッセージにクイックリプライボタンを13個まで設定できます。

クイックリプライのサンプル

構成要素

クイックリプライボタンは以下の要素から構成されます。これらの記述方法について詳しくは、『Messaging APIリファレンス』の「クイックリプライ」を参照してください。

アクション

クイックリプライボタンをタップすると実行されるアクションです。

クイックリプライ機能専用のアクションとして、以下のアクションが用意されています。これらのアクションは、他のメッセージタイプでは使用できません。

上記の3つのアクションに加えて、他のメッセージタイプと共通の以下のアクションも利用できます。

アイコン

クイックリプライボタンの先頭に表示される任意のアイコンです。

  • ボタンに設定したアクションが、カメラアクション、カメラロールアクション、または位置情報アクションの場合は、画像を指定しない場合、デフォルトのアイコンが表示されます。
  • ボタンに設定したアクションが、ポストバックアクション、メッセージアクション、または日時選択アクションの場合は、アイコンを省略できます。

ラベル

クイックリプライボタンに表示される文字列です。

クイックリプライボタンを設定する

一例として、レストラン検索ボットがユーザーの要望を確認するメッセージを作成してみましょう。このボットは、ユーザーが希望する食べ物の種類またはユーザーの現在地からおすすめのレストランを検索します。

以下のJSONデータを例にして説明します。

{
  "type": "text", // ①
  "text": "Select your favorite food category or send me your location!",
  "quickReply": { // ②
    "items": [
      {
        "type": "action", // ③
        "imageUrl": "https://example.com/sushi.png",
        "action": {
          "type": "message",
          "label": "Sushi",
          "text": "Sushi"
        }
      },
      {
        "type": "action",
        "imageUrl": "https://example.com/tempura.png",
        "action": {
          "type": "message",
          "label": "Tempura",
          "text": "Tempura"
        }
      },
      {
        "type": "action", // ④
        "action": {
          "type": "location",
          "label": "Send location"
        }
      }
    ]
  }
}
  1. ユーザーに要望を確認するテキストメッセージです。
  2. quickReplyプロパティにitemsオブジェクトを指定します。itemsオブジェクトに3つのクイックリプライボタンの配列を含めます。
  3. 第1と第2のクイックリプライボタンには、食べ物の種類を表すアイコンとラベル、およびメッセージアクションを設定します。ラベルはアクションオブジェクトのlabelプロパティに指定します。ユーザーがどちらかのボタンをタップすると、食べ物の種類がユーザーのメッセージとして返信されます。
  4. 第3のクイックリプライボタンには、位置情報の送信を促すラベルと位置情報アクションを設定します。imageUrlプロパティを指定していないため、デフォルトのアイコンが表示されます。

このJSONデータを送信すると、以下のように描画されます。

クイックリプライのサンプル2

クイックリプライボタンが非表示になるタイミング

以下の場合に、クイックリプライボタンは非表示になります。ユーザーが選択した内容を後から確認できるように、できるだけトークルームにメッセージとして残す実装にしてください。

  • ユーザーがいずれかのクイックリプライボタンをタップした。ただし、カメラアクション、カメラロールアクション、日時選択アクション、および位置情報アクションが設定されているボタンの場合は、それらのアクションで期待される情報をユーザーが送信するまで、ボタンは表示されたままになります。
  • トークルーム内で、ボット、ユーザー、または他のユーザーが新しいメッセージを送信した。新しいメッセージを削除すると、クイックリプライボタンは再表示されます。

関連ページ