アクションオブジェクトとは
LINEでbuttonや、Flex Messageのtextからアクションを呼び出すことができます。
現在 公式リファレンスでは、7種類のAction Objectが登録されています。(2018/09/01現在)
今回の記事では、それぞれのActionについてまとめ、URIアクションではさらに自由度の高いことを表現ができるので、それについても記述します。
基本的なアクションのJSON
基本的な構造として、typeとlabelを持ちます。
typeはアクションの種類を表現し、labelはLINE上で表示されるtextのmessageです。
{
"type":"_action_type_",
"label":"_display_label_",
}
ポストバックアクション
ポストバックアクションは、dataの中にボタンの情報を保存し、サーバーに返すことができます。
また、ボタンが抑えれた時にbotからtextを返すこともできます。(非推奨で廃止される予定でありますが、ユーザー側からメッセージを送信することも可能です。
{
"type":"postback",
"label":"ItemName",
"data":"action=detail&itemid=111",
"text":"ItemName"
}
日時選択アクション
日付選択アクションでは、ポストバックアクションの情報に加えOSのデフォルトの日付入力を利用し、日付
/時間
/日付+時間
の情報を選択することができます。
フォームを入力した際のデフォルトの日付も設定することができ、initial
で、起動の日付を選択することが可能です。
この機能を利用すると調整さんのようなbotは簡単にできそうですね :)
{
"type":"datetimepicker",
"label":"Select date",
"data":"entryId=12345",
"mode":"date",
"initial":"2018-09-01",
"max":"2018-08-01",
"min":"2018-10-10",
}
めっちゃできるよURIアクション
{
"type":"uri",
"label":"Buy",
"uri":"https://example.com/pay/confirm"
}
URIアクションから、http
/https
/line
/tel
を開くことができます。
他のLINE APIと連携させることもできます。
https
からはLINE Payを起動させることができます。
LINE Loginを利用して、外部のwebサービスと連携させる。
また、line
からはLIFF(LINE Front-end Framework)を起動させることができ、Webアプリとの連携も簡単にできます。
LINE URIが指定したURIスキームを利用すれば、アクションオブジェクトでできない他の関連botへの誘導や設定画面を開いてbeaconの設定をしてもらうなどのことができます。
その他のアクション
その他のアクションは非常にシンプルなので割愛させていただきます。気になったアクションがあればLINEの公式を参照してください。
まとめ
今回はアクションオブジェクトについてまとめました。
アクションオブジェクトはButton
/Flex Message
から利用することができ、テキスト入力と比べてUXを格段にあげることができるので、是非利用してみてください。