Webアプリの開発経験がある方がLINEミニアプリ(LIFF)に初めて触れると「ほぼWebアプリと同じでは?」と感じるかもしれません。実際HTML/CSS/JSで作られますが、認証・通知・SEOの3点で大きく異なります。
1. 認証:自前実装が不要になる
通常のWebアプリではJWTやSNSログインを自前実装します。LINEミニアプリでは liff.init() を呼ぶだけでLINE認証が完了します。
await liff.init({ liffId: 'your-liff-id' });
const profile = await liff.getProfile();
console.log(profile.userId); // LINEユーザーID
このuserIdをDBに保存するだけで会員証・ポイント管理が実現できます。
2. カメラ・GPS:Webと同じAPIで動く
意外と知られていませんが、カメラや位置情報はWebアプリと同じWeb APIが使えます。ネイティブアプリ固有ではありません。
// Webアプリと完全に同じコード
const stream = await navigator.mediaDevices.getUserMedia({ video: true });
navigator.geolocation.getCurrentPosition((pos) => { /* ... */ });
3. プッシュ通知:LINE公式アカウント経由になる
最大の違いがここです。
| Webアプリ | LINEミニアプリ | |
|---|---|---|
| 通知手段 | Web Push(ブラウザ許可) | LINE公式アカウントのメッセージ |
| 開封率 | 低め | 高い傾向 |
| コスト | 無料 | 月額費用+通数制限あり |
// Messaging APIでプッシュ送信
await axios.post('https://api.line.me/v2/bot/message/push', {
to: userId,
messages: [{ type: 'text', text: '注文が確定しました' }]
}, { headers: { Authorization: 'Bearer ' + token } });
どのアプリを選ぶべきか
LINEミニアプリが向いているのは「既存顧客・実店舗との連携が中心」のケースです。
まとめ
LINEミニアプリは「Webアプリ+LINE認証+LINE通知」と捉えると理解しやすいです。SEOからの流入は不可能なため、既存顧客向けサービスに向いています。
アーキテクチャ図・公開フローを含む詳細はこちら:
https://amanity.co.jp/news/line-mini-app-vs-webapp

