LINEミニアプリ

LINEミニアプリ「HelloWorld」をLINEで表示するまでの手順

前回

LINEミニアプリの新規チャネルを作成するところまでやりました。

その他前提

  • 自分のLINEアカウントで開発用画面が見れるように、LINE BusinessIDと紐づけした
  • また、そのLINE BusinessIDを「Hello,World」ミニアプリの管理者として権限付与
  • リンクされたLINE公式アカウントの設定…LINEミニアプリとLINE公式アカウントを紐づける場合は設定しておく(今回はめちゃくちゃ必要というわけではない)

など。

必要なもの

今回は開発テストなので、開発用に準備されているものを使用する。
「ウェブアプリ設定」タブをクリック。

LIFF URL(開発用)

LIFF URLは、LINEミニアプリを起動するための専用URL。
https://miniapp.line.me/{liffId}となっている。

ユーザーがこのURLをLINEアプリ内で開く(QRコード読み込みやトーク画面でタップ)ことで、エンドポイントURLのウェブページを間接的に表示する。また、LINEアプリ内で開くと、LIFF SDKを通じてLINEの認証やユーザー情報にアクセス可能。

LIFF URLは開発用のほかに、審査用と本番用も容易されているので、段階にあわせて変更する必要がある。

LIFF ID

LIFFアプリを特定し、ウェブページとLIFF URLを紐づける識別子。

LIFF URLは、LIFF ID(例:2025123456-0abcdef12)を含むため、どのミニアプリを起動するかを特定することができる。
開発用LIFF URLが「https://miniapp.line.me/2025123456-0abcdef12」だった場合、LIFF IDは「2025123456-0abcdef12」になる。

エンドポイントURL(開発用)

エンドポイントURLは、HTML/CSS/JSファイルがホストされているHTTPSサーバーのURLを設定する。
LINEミニアプリがLIFF URL経由でアクセスする際に、どのウェブページを読み込むかを指定する。
今回は後述するindex.htmlファイルをさくらのレンタルサーバにアップロードしたので、そのURLを開発用URLとして入力。
例)https://example.sakura.ne.jp/hello-world/index.html

エンドポイントURLはHTTPSであることが必須(LINEのセキュリティ要件)

エンドポイントURLは開発用のほかに、審査用と本番用も容易されているので、段階にあわせて変更する必要がある。

友だち追加オプション(任意)

この機能をオンにすると、ユーザーがこのLIFFアプリを初めて使用するときに表示される同意画面に、LINE公式アカウントを友だち追加するオプションが表示される。今回は「Hello,World」を表示したいだけなので省略した

Scan QR

Scan QRは、LIFFアプリからQRコードを読み込む機能(設定した)

詳細はLINE公式ページ参照 https://developers.line.biz/ja/docs/liff/registering-liff-apps/

ファイル

「HelloWorld」を表示するためのファイル(HTML/CSS/JS)。

index.html

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>HelloWorld - LINE Mini App</title>
    <!-- LIFF SDKをCDNから読み込む -->
    <script src="https://static.line-scdn.net/liff/edge/2/sdk.js"></script>
</head>
<body>
    <h1>HelloWorld</h1>
    <p>LINEミニアプリのテストです!</p>

    <script>
        // LIFF初期化
        async function initializeLiff() {
            try {
                await liff.init({ liffId: '2025123456-0abcdef12' }); // LIFF ID(例:2025123456-0abcdef12)を設定
                console.log('LIFF initialized');
            } catch (error) {
                console.error('LIFF initialization failed', error);
            }
        }
        // ページ読み込み時にLIFFを初期化
        window.onload = initializeLiff;
    </script>
</body>
</html>

HelloWorldを表示するためだけのファイル。今回はCSS/JSファイルは省略。

  • https://static.line-scdn.net/liff/edge/2/sdk.jsの読み込み
  • LIFF IDの紐づけ
  • ページ読み込み時にLIFFを初期化

上記をindex.htmlとしてファイルをレンタルサーバにアップロードし、アップロードしたURLをエンドポイントURLとして設定しておく。
例)https://example.sakura.ne.jp/hello-world/index.html

結果

https://miniapp.line.me/2025123456-0abcdef12 にブラウザアクセスするとLINEから読みこむようにQRコード画面が表示される。


LINEで読みこむとエンドポイントURLを参照し、エンドポイントとして設定されているURL(https://example.sakura.ne.jp/hello-world/index.html)を表示する

→「HelloWorld」「LINEミニアプリのテストです!」が表示される。

表示されない場合

下記を見直す。

  • index.htmlファイル内でhttps://static.line-scdn.net/liff/edge/2/sdk.jsの読み込み
  • index.htmlに追加したLIFF IDの確認
  • index.htmlにページ読み込み時にLIFFを初期化コードは入れたか
  • ウェブアプリ設定画面でエンドポイントURLを設定したか

など。

LIFF SDKを使ってできること

  • ユーザー情報取得(liff.getProfile()でユーザーIDや名前を取得)。
  • トークへのメッセージ送信(liff.sendMessages())。
  • 認証状態の確認(liff.isLoggedIn())。

こちらも試す予定。

  • この記事を書いた人

ゆず

■忘れないように自分の覚書と、誰かも困っているかもしれないので参考になればいいなくらいの軽い備忘録です。
■サイト運営費のためGoogleAdsenseをいれています。
gifteeを贈る / コーヒーをおごる / mail

1

outlookを最小化すると勝手に終了してしまう outlookを最小化すると勝手に終了してしまうと相談されたけど実はそれ勝手に閉じてるわけじゃなくて、おそらく「最小化時にアイコン化する設定」になって ...

2

前提 自分用ブックマークサイトとして使用しているてがろぐに、いいねボタンをつけようという狙いです。なので、てがろぐのセットアップは終了し稼働しているものとします。 配布ページのマニュアルを参考に進めま ...

3

感想をもっと手軽に、お気軽に。 https://labo.01kawa.com/kansou 素敵なフォロー、フォロワー、創作作家さんに作品の感想を送りたい…!が、語彙力がないという方向けの感想メーカ ...

-LINEミニアプリ