結論:対象URLに
openExternalBrowser=1 を付ける方法がLINE Developersで案内されています。Androidでは openInAppBrowser=0 によりChrome Custom Tabで開く方法もあります。ただしLIFF URLではこれらの指定はサポートされません。openExternalBrowser=1
LINE Developersは、LINEアプリからアクセスする通常URLに openExternalBrowser=1 を付与すると、LINEのアプリ内ブラウザではなく外部ブラウザで開けると説明しています。
既存URLにクエリがある場合は、? と & の付け方を間違えないようにします。すでにパラメータがあるURLへさらに追加する場合、URL全体を壊さないことが重要です。
openInAppBrowser=0
LINE公式資料では、openInAppBrowser=0 を付けるとAndroid版LINEでChrome Custom Tabを使う形式も案内されています。これは「端末の完全な外部ブラウザアプリへ必ず切り替わる」と同じ意味ではないため、用途を分けます。
| 指定 | 公式説明上の挙動 |
|---|---|
openExternalBrowser=1 | 対象URLを外部ブラウザで開く。 |
openInAppBrowser=0 | AndroidでChrome Custom Tabを利用。 |
LIFFでは使えない
LINE Developersは、これらのクエリパラメータはLIFFアプリではサポートされないと明記しています。LIFF URLに付ければ同じ効果が得られる、と一般化しないようにします。
なぜ外部ブラウザへ出したいのか
外部ブラウザへ移す理由には、別アプリへの遷移、ログイン、Cookie/セッション、決済、ブラウザ固有機能などがあります。ただし「外部ブラウザにすれば必ず別アプリが開く」とは限りません。OSや遷移先アプリのリンク処理も関係します。
LINE以外のSNS内ブラウザについては、アプリ内ブラウザから別アプリを開く時の確認で汎用的に整理しています。
利用前チェック
- 対象がLIFF URLではないか。
- 既存クエリを壊さずパラメータを追加しているか。
- iOS/Androidを分けて確認したか。
- 外部ブラウザへ出た後の最終リンク挙動も確認したか。
- 別アプリ起動を100%保証する表現にしていないか。