【LINEミニアプリ(LIFF)活用】LIFFの活用で押さえておきたい重要トピック

LIFF(LINE Front-end Framework)は、
LINEログインやトークルーム連携をWebアプリに組み込める、非常に強力な仕組みです。

LINE公式アカウントと組み合わせることで、ユーザー体験を損なわずに高度な連携施策を実現できます。

一方で、

  • ログイン後にURLパラメータが消える
  • liff.sendMessages() が403エラーになる

といった実装上のつまずきも多く見られます。

本記事では、
LIFF活用時に必ず押さえておきたい2つの重要トピックを分かりやすく解説します。


Topic1|LIFFログイン時にURLパラメータを失わない方法

LIFFのURLにパラメータを付与した状態で、LINEログインが必要なLIFFアプリを開く場合、
ログイン処理の途中でURLパラメータが失われるリスクがあります。

これは、liff.login() 実行時にリダイレクト先を明示しないと、
LINE側の仕様により元のURLが正しく引き継がれないケースがあるためです。

この問題を防ぐためには、次のように記述します。

liff.login({ redirectUri: window.location.href });

この方法により、
パラメータを含む元のURLに確実に戻ることができ、
キャンペーンIDや外部システム連携に必要な情報を保持できます。


Topic2|liff.sendMessages() と403エラーの正しい理解

liff.sendMessages() は、
ユーザーの代わりに、LIFFアプリが開かれているトークルームへメッセージを送信できる機能です。

ユーザー操作を最小限にしながら、自然なLINE体験を提供できるため、
業務連携や自動化施策で多く利用されています。

ただし、この機能を利用するには、以下の条件をすべて満たす必要があります。

  • 1対1・グループ・複数人トークから起動したLIFFアプリである
  • LIFFブラウザ内で動作している
  • chat_message.write スコープが有効である
  • 「最近使用したサービス」から再読み込みされていない

条件を満たしていない場合、
403 user doesn’t grant required permissions yet エラーが発生します。

例えば、次のようなケースではエラーになります。

  • KeepメモからLIFFアプリを開いた場合
  • Webサイトのリダイレクト処理でLIFF URLを開いた場合
  • LIFF間遷移後に chat_message.write スコープが無効になった場合
  • ユーザーが chat_message.write の認可を行わなかった場合

なお、LIFFアプリがどの画面から起動されたかは、
liff.getContext() メソッドで確認できます。


LIFF活用を安定させるためのポイント

LIFF施策を安定運用するためには、

  • ログイン時のリダイレクト制御を正しく行う
  • 起動コンテキストを判定して機能を制御する
  • スコープ制約を前提にUXを設計する

といった設計が欠かせません。


DX-LINEで広がるLIFF活用

DX-LINEを活用すると、
LIFFとLINE公式アカウントを業務システムと安全に連携できます。

  • LIFFで取得したユーザー情報を業務データとして活用
  • トークルーム起動を前提とした確実なメッセージ設計
  • CRM・SFA・基幹システムとの連携

技術的な制約を理解したうえで設計することで、
失敗しにくいLIFF活用を実現できます。

DX-LINE 公式サイト
https://dx-line.com/

タイトルとURLをコピーしました