LINEミニアプリの「サービスメッセージ」を試してみた① : 概要確認

2 min read読了の目安(約2100字

どうもー。BULB加藤です!

LINEミニアプリはLIFFという独自のフロントエンドフレームワークを使って作ることができ、フロントエンドの実装だけでアプリケーションの大半ができてしまいます。

通知に関わるいくつかの機能はバックエンドの開発が必要となりますが、代表的なのが「サービスメッセージ」です。

今回はLINEミニアプリの開発検証をする中でサービスメッセージを試す機会があったので、そのときの内容をメモっていきます。

①:概要確認 https://zenn.dev/bulb/articles/b10f61b983a949 ←ここからスタート
②:開発環境準備 https://zenn.dev/bulb/articles/8528cd7d830532
③:サーバ構築 https://zenn.dev/bulb/articles/e369d3e41935ec
④:ミニアプリ開発 https://zenn.dev/bulb/articles/7b576300730c42
⑤:APIをデプロイ https://zenn.dev/bulb/articles/3b237d1fdc1183

サービスメッセージとは

↓開発ドキュメント

https://developers.line.biz/ja/docs/line-mini-app/develop/service-messages/

↓APIリファレンス

https://developers.line.biz/ja/reference/line-mini-app/

サービスメッセージは、ユーザーからのリクエストに対する確認や応答としてユーザーが知るべき情報を、LINEミニアプリから通知する機能です。 たとえば、レストランや宿泊施設の予約の確認通知をユーザーに送信する場合に、サービスメッセージを利用できます。

飲食店の順番待ちやモバイルオーダーで必須の機能

たとえばLINEミニアプリのメジャーケースとして、飲食店の順番待ちアプリみたいなものがよくあります。

そういったサービスでは以下のような通知機能が必要となりますよね。

  • 順番待ちの受付完了
  • 「あと○○分」
  • 「もうすぐあなたの番です」

こういった通知をしてくれるのが、サービスメッセージです。

サービスメッセージはあくまでサービスとしてユーザーへの通知が必要なものしか許可されておらず、店舗の順番待ちやモバイルオーダーなど、いくつかのテンプレートが用意されています。


(画像 : LINE Developersのコンソールより)

LINE上での通知 : サービスメッセージ用の共通アカウントへ

サービスメッセージはアプリケーションごと別々のアカウントに届くのではなく、「Service Message」という専用のアカウントから通知されます。

たとえば、「モバイルオーダーアプリAの注文確認通知」も「順番待ちアプリBの待ち時間目安通知」も、一律でここに届く感じですね。

開発中のミニアプリからサービスメッセージを送る

今回開発検証中のアプリケーションを使って、サービスメッセージをとりあえず送ってみるやつを試してみることにします。

構築イメージ

① : LINEミニアプリ上でのユーザのアクション

検証中の端末でのアクション。

ミニアプリ内に、APIにアクセスするためのボタンやリンクを用意しておきます。このときサーバーに対しいて「LIFFアクセストークン」という固有のトークンをつけて送ります。

② : サービス通知トークンを取得

自分で用意するサーバー(今回はHerokuでやりました)内での動作。

送られてきたアクセストークンをLINEのサービスメッセージAPIへPOST送信して、最終的にサービスメッセージをユーザーへ通知するための「サービス通知トークン」を取得します。

このとき「チャネルアクセストークン」も必要なのですが、それはあらかじめ取ってきてどこかに保存しておけばおっけーです。

③ : サービスメッセージを送信

②でゲットしたサービス通知トークンを使ってサービスメッセージを送ります!

④ : サービスメッセージ通知確認

ふたたび検証端末で確認。

最初にアクションしたユーザーのLINEトークルーム内の「Service Message」に、所定のメッセージがとどきます。

今回はHerokuを使ってトークン取得・メッセージ送信サーバーを構築していきます!(つづく)