9
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

こんにちは!
レアゾン・ホールディングスの櫻井です。

今回は LIFF(LINE Front-end Framework) についてご紹介します。
特に実務で使っているわけではないのですが、

  • LIFFって意外と情報少なくない?
  • 使いこなせたら結構便利なのでは?
  • 個人の備忘録としてもまとめたい!

というモチベーションからこの記事を書きます。

LIFFとは

LIFF(LINE Front-end Framework) は、LINEが提供するWebアプリ向けのフレームワークで、LINEアプリ内のWebView上で動作します。

例えば:

  • LINEユーザーのプロフィール情報を取得する
  • トークにメッセージを送信する
  • QRコードを読み取る

といったことが、Webアプリから直接できるようになります。

👉 「LINEネイティブ機能の一部をWebで扱えるようにする仕組み」 と捉えるとわかりやすいです。

LIFFの構造

要素 説明
プロバイダ 開発者単位(個人 or 企業)で、チャネルの管理単位になるグループ。
チャネル LIFFやMessaging APIの設定単位。1つのLINEサービスと対応。
公式LINEアカウント 実際にユーザーとやりとりするLINEアカウント。
LIFFアプリ LINEアプリ内で動作するWebアプリ。チャネルに紐づく。
Webhook LINEサーバー → あなたのサーバーに通知を送る仕組み。

LIFFでできること

ざっくり以下のようなことが可能です:

  • ユーザーのプロフィール情報取得(名前、ユーザーID、アイコン画像など)
const profile = await liff.getProfile();
console.log(profile.displayName); // 名前
console.log(profile.userId);      // ユーザーID
console.log(profile.pictureUrl);  // アイコン画像URL
  • LINEトークにメッセージ送信
await liff.sendMessages([
  {
    type: "text",
    text: "こんにちは!LIFFからのメッセージです!",
  },
]);
  • LINEログイン連携(外部ブラウザでも動作可能)
liff.login(); // 未ログインならログインへリダイレクト
  • QRコード読み取り
const result = await liff.scanCode();
console.log(result.value); // QRコードの読み取り結果

今回自分の中での備忘録

実装してみて「ここ大事だな」と感じたポイントをメモしておきます。

プロバイダの中ではLINE IDが同一

LINE Developers
└── プロバイダ(Provider)
    ├── チャネルA(Messaging API, LIFF)
    ├── チャネルB(別アプリ)

同じプロバイダ内にある複数のチャネル間では、同じユーザーに対して同じ LINE ID(userId)が払い出されます。

一方で、異なるプロバイダ同士では、同じLINEユーザーでも異なるIDになります。

📌 なぜ重要?
Messaging API と LIFF を併用するケースでは、ユーザーIDでデータを突き合わせたり、統合管理する必要があるため、同じプロバイダにチャネルをまとめておく設計が必須です。

LIFFアプリは必ずHTTPSでホストする必要がある

LIFFアプリは https:// でホストされている必要があります。

開発中に localhost で動かすことはできません。

そのため、ローカル開発時は ngrok や Cloudflare Tunnel を使って、HTTPSトンネルを立てる必要があります。

まとめ

LIFFを使ってみたことで、LINEログインやプロフィール取得、トーク送信などがWebフロントエンドだけで完結できる手軽さに驚きました。

実装自体はシンプルですが、プロバイダ設計やHTTPS要件、ユーザーIDの扱いなど、事前に押さえておきたいポイントも多く、備忘録としてまとめておく価値があると感じました。

また、日本国内ではLINEの普及率が非常に高いため、ちょっとした施策やユーザー接点を作りたいときにも活用できそうだなと、個人開発ながらビジネス的な可能性も感じました。

これからも「Web × LINE」の組み合わせを、より柔軟に活かしていければと思っています!

▼ 採用情報

レアゾン・ホールディングスは、「世界一の企業へ」というビジョンを掲げ、「新しい"当たり前"を作り続ける」というミッションを推進しています。

現在、エンジニア採用を積極的に行っておりますので、ご興味をお持ちいただけましたら、ぜひ下記リンクからご応募ください。

9
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?