LINEミニアプリ開発ノート『プロバイダー・チャネル編』
今回は『プロバイダー・チャネル編』
この記事を書いておいて、先にこれを言ってしまうと元も子もないですが、公式ドキュメントがよく整理されています。
LINEミニアプリを開発する上で、捉えておきたいのが 「プロバイダー」と「チャネル」の概念
プロバイダーとは?
LINE Developersサイトでは、サービスを提供し、ユーザーの情報を取得する開発者個人、企業、または団体等をサービス提供者と呼びます。 LINE Developersコンソールでは、サービス提供者をプロバイダーとして登録します。
サービス提供者のこと
チャネルとは?
チャネルは、LINEプラットフォームが提供する機能を、サービス提供者が利用するための通信路です。
チャネルには【LINEログイン】【Messaging API】【LINEミニアプリ】などの種類があります。
「プロバイダー」と「チャネル」は親子関係にあり、1つの「プロバイダー」に複数の「チャネル」を紐づけることができます。
同一「プロバイダー」に【LINEミニアプリ】と【Messaging API】 2つの「チャネル」を紐づけることで、
【LINEミニアプリ】を通じて取得したユーザに対して、【Messaging API】を利用してLINE公式アカウントからメッセージ配信ができるようになります。
これは、【LINEミニアプリ】で取得できる(正確にはLIFFで取得できる)「ユーザーID」が、プロバイダーごとにユニークなユーザー識別子を示すからで、同一プロバイダー下であれば、チャネルが異なっても同じユーザーとして扱うことができるためです。※1
例えば、来店予約機能をサービス提供する【LINEミニアプリ】であれば、来店してくれたユーザに対して、LINE公式アカウントから個人を識別した上で送信することができるのです。
LINE公式アカウントで作成できるセグメントより、 細かい 個人単位でセグメントを作成できる点から、LINE公式アカウントのメッセージ配信数を抑えるメリットがあります。
さらに、【LINEミニアプリ】は、【Messaging API】を通してLINE公式アカウントを1つまで設定しておくことで、ユーザが初めて【LINEミニアプリ】起動時に、友達追加を促すことができます。※2
※1: 公式ドキュメントの用語集で「ユーザーID」は以下のように定義されています。
プロバイダーごとにユーザーを識別するための識別子。1人のLINEユーザーは、プロバイダーごとに異なるユーザーIDを持ちます。LINEに表示されるLINE IDとは異なります。
※2: Linked OA(リンクされたボット)項目は任意項目なので、必ずしもLINE公式アカウントを指定する必要はありません。
また、同一「プロバイダー」に、複数の【LINEミニアプリ】を作成することもできます。
逆に、1つの「チャネル」に、複数の「プロバイダー」に紐づけることは不可能です。
あれ、LIFFアプリは..?
LIFFアプリをご存知の方であれば、ここまで読んで、『チャネルに LIFFアプリ がないじゃないか』と思うかもしれません。
LIFFアプリは、【LINEログイン】チャネルを作成した上で、複数登録することができます。
図1. LINE Developers コンソール - LINEログイン編集画面
LIFFブラウザ(LINEアプリ内のブラウザ)で、LIFFアプリ liff.init
または liff.login
を実行することで、LINEログイン認証を省略できるのですが、それは【LINEログイン】の機能由来のものであると言えそうです。
Google Chrome, Safari などのブラウザで、LIFFアプリを実行すると、LINEログイン認証を省略することはできません。LINEアカウントを特定できないので当然ですね。
さらに、【LINEミニアプリ】は作成してみると分かるのですが、 開発用(Developing)・審査用(Review)・本番用(Published)の3つの【LIFFアプリ】が自動生成されます。
図2. LINE Developers コンソール - LINEミニアプリ編集画面
以下、憶測ですが、
【LINEミニアプリ】は、LIFFアプリが3つ登録されている【LINEログイン】チャネルがベースにあるのではないでしょうか。
【LINEログイン】が最初に生まれ、次にLIFFアプリが生まれ、【LINEミニアプリ】へ進化したのかなと思ったり。
と誕生の経緯に思いを馳せながら開発しているのでした。
図3. LINEミニアプリとLINEログインの構造
Discussion