LIFF v2.4.0の利用は、LIFFアプリを閉じずに別のLIFFアプリを開く機能に、不具合が発見されたため非推奨になりました。
この機能を利用するための条件が以下に変わりました。
項目 | 変更前 | 変更後 |
---|---|---|
LIFF SDK | 2.4.0 | 2.4.1 |
LINE | 10.16.0 | 10.18.0 |
すでにLIFF v2.4.0をお使いの場合は、LIFF v2.4.1へのアップデートをお勧めします。
LIFF v2.4.0をリリースしました。
LIFF v2.4.0における変更点は以下のとおりです。
- LIFFアプリの初期化前でも
liff.closeWindow()
メソッドが実行できるようになりました - LIFFアプリを閉じずに別のLIFFアプリを開くことができるようになりました
- LIFF URLが意図しないURLへリダイレクトされる不具合を修正しました
- liff.permanentLink.createUrl()の不具合を修正しました
- 2次リダイレクト先URLにフラグメントが含まれない不具合を修正しました
# LIFFアプリの初期化前でもliff.closeWindow()
メソッドが実行できるようになりました
liff.init()
メソッドでLIFFアプリを初期化する前に、liff.closeWindow()
メソッドを実行できるようになりました。
LIFF SDKバージョンが2.4.0以上、ユーザーのLINEバージョンが10.15.0以上の場合のみ、LIFFアプリ初期化前にliff.closeWindow()
を実行できます。
以下のように、ネットワークエラーや、ユーザーのLINEバージョンなどによってLIFFアプリの初期化に失敗した場合に、liff.closeWindow()
メソッドでLIFFアプリを閉じることができます。
liff
.init({
liffId: "123456-abcedfg" // Use own liffId
})
.then(() => {
// Start to use liff's api
})
.catch((err) => {
// Error happens during initialization
console.log(err.code, err.message);
liff.closeWindow();
});
詳しくは、『LIFF APIリファレンス』の「liff.closeWindow()」を参照してください。
# LIFFアプリを閉じずに別のLIFFアプリを開くことができるようになりました
画面サイズがFull
表示のLIFFアプリ内で、別のLIFFアプリへのリンクをクリックすると、LIFFブラウザを開いたまま別のアプリを表示することができます。
ブラウザが閉じないため、LIFFブラウザの戻るボタンで遷移元のLIFFアプリに戻ることができます。
LIFF v2.4.0では不具合があり、正しく動作しないことがわかりました。この機能の動作条件は以下に変更されています。
- LIFF SDKバージョンが2.4.1以上、ユーザーのLINEバージョンが10.18.0以上
- 遷移元のLIFFアプリの画面サイズが
Full
表示に設定されている - 遷移先のLIFFアプリが
liff.init()
で正しく初期化されている
詳しくは、『LIFFドキュメント』の「LIFFアプリから別のLIFFアプリを開いた場合の動作について」を参照してください。
# LIFF URLが意図しないURLへリダイレクトされる不具合を修正しました
LIFF URLに指定した追加情報(例:path/?key=value
)は、1次リダイレクト先URLではliff.state
クエリパラメータに含まれます。liff.state
クエリパラメータに追加情報が含まれる場合に、以下のように意図しない2次リダイレクト先URLに遷移する不具合がありました。
liff.state
クエリパラメータの先頭に/
がない- [LIFF URLの追加情報の処理方法]が「置換(後方互換性モード)」に設定されいてる
たとえば、[エンドポイントURL]がhttps://example.com
に設定されており、liff.state
クエリパラメータがpath
だった場合、ドメイン名とパスが/
で分離されず、https://example.compath
にリダイレクトされていました。
LIFF v2.4.0では、https://example.com/path
に正しくリダイレクトされるよう修正されています。
LIFF URLへのアクセス時の動作について詳しくは、LIFFドキュメントの「LIFF URLにアクセスしてからLIFFアプリが開くまでの動作について」を参照してください。
# liff.permanentLink.createUrl()の不具合を修正しました
LIFFのエンドポイントURLにクエリパラメータ(?key=value
)やURLフラグメント(#URL-fragment
)などが含まれていた場合、liff.permanentLink.createUrl()
を実行した際、場合により追加情報部分がパーマネントリンクに正しく反映されない不具合を修正しました。
# 2次リダイレクト先URLにフラグメントが含まれない不具合を修正しました
LIFFのエンドポイントURLやLIFF URLにURLフラグメントが含まれていた場合、[LIFF URLの追加情報の処理方法]の設定に関わらず、2次リダイレクト先URLにフラグメントが含まれない不具合を修正しました。
2次リダイレクト先URLや[LIFF URLの追加情報の処理方法]の設定による2次リダイレクト先URLへの影響について詳しくは、LIFFドキュメントの「LIFF URLにアクセスしてからLIFFアプリが開くまでの動作について」を参照してください。