We've released LIFF v2.15.0.
In LIFF v2.15.0, the following features have been added.
The liff.scanCodeV2()
method, which can launch a 2D code reader within a LIFF app, has been added.
Due to technical problems, liff.scanCode()
isn't available for use on LINE for iOS version 9.19.0 or later, or on external browsers, but with liff.scanCodeV2()
, you can now launch a 2D code reader even on the newest version of LINE for iOS, and on external browsers.
The operation specification of liff.scanCodeV2()
liff.scanCodeV2()
internally uses an external library called jsQR.
Therefore, the 2D code reader to be launched when the liff.scanCodeV2()
method is executed depends on the operation specification of jsQR. Libraries used may be updated or changed without notice.
liff.scanCode() method deprecated
The traditional liff.scanCode()
method has been deprecated. We recommend using the liff.scanCodeV2()
method for implementing a 2D code reader.
Implementing a 2D code reader using liff.scanCodeV2()
is the same as that of liff.scanCode()
. Turn on Scan QR from the LIFF tab on the LINE Developers Console before following these steps to implement liff.scanCodeV2()
.
liff.scanCodeV2()
sample code:
javascriptliff.scanCodeV2().then(result => {
// result = { value: '' }
});
2D code reader support on the LINE MINI App is scheduled for October 7, 2021
Using liff.scanCodeV2()
to launch a 2D code reader requires turning on Scan QR from the LIFF tab of the LINE Login channel on the LINE Developers Console. The Scan QR setting is scheduled to be added for LINE MINI App channels on October 7, 2021. Currently, as of September 30, 2021, liff.scanCodeV2()
isn't available for LINE MINI App channels.

These are the operating environments of the liff.scanCodeV2()
method and the 2D code reader that is displayed:
Operating environmentsDue to technical problems, the traditional liff.scanCode()
method isn't available for use on LINE for iOS version 9.19.0 or later, or on external browsers. The newly added liff.scanCodeV2()
method, however, is available both on the newest version of LINE for iOS and on external browsers.
OS |
Version |
LINE app version |
External browser |
9.18.0 or earlier |
9.19.0-11.6.x |
11.7.0 or later |
iOS |
11-14.2 |
✅ |
❌ |
❌ |
✅ *1 |
14.3 or later |
❌ |
❌ |
✅ *2 |
✅ *1 |
Android |
All versions |
❌ |
❌ |
✅ *2 |
✅ *1 |
PC |
All versions |
❌ |
❌ |
❌ |
✅ *1 |
*1 You can only use web browsers that support WebRTC API.
*2 Only available when the screen size of the LIFF browser is Full
. For details, see Size of the LIFF browser in the LIFF documentation.
2D code readerFor the liff.scanCode()
method, Android and iOS each had different 2D code reader screens, but for the liff.scanCodeV2()
method, the following same screen is displayed, regardless of OS.

If you launch the 2D code reader, a Tall
size sub-window will be displayed on the bottom of the Full
size LIFF app screen. Also, if you click on the
icon located at the bottom-right of the screen, you can select a 2D code to be read from a photo.
For more information on implementing a 2D code reader using liff.scanCodeV2()
, see Opening the 2D code reader in the LIFF documentation.
The withLoginOnExternalBrowser
property has been added to the liff.init()
method. Normally, when you access LIFF application on an external browser, you need to explicitly go through the login process using the liff.login()
method. By specifying true
in the newly added withLoginOnExternalBrowser
property, you can automatically execute the liff.login()
method when the LIFF app is initialized.

Sample code with the withLoginOnExternalBrowser
property added to the liff.init()
method:
jsliff.init({
liffId: "123456-abcdef",
withLoginOnExternalBrowser: true, // Enable automatic login process
}).then(() =>
// Start to use liff's api
});
For more information, see liff.init() in the LIFF API reference.