iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 8
1
Modern Web

認識LIFF容易嗎?系列 第 8

[Day08] LIFF IsApiAvailable

前言

在上一篇,我們認識到有一部分的LIFF API,在使用上是會受到Line、LIFF SDK或作業系統而限制。
如果想要確認API是否能在開啟LIFF APP的環境中可被使用,就必須了解 噔噔!liff.isApiAvailable!(請腦補哆啦A夢的背景音樂)

liff.isApiAvailable()

用於確認指定的LIFF API是否在開啟LIFF APP的環境中可被使用。
同時也會驗證當前開啟LIFF APP的Line版本,是否支援指定的API。

實作

今天實測的apiName是liff.shareTargetPicker!(請腦補花家烹飪教室的背景音樂)
這支API先前有提到,只能使用於Line版本在10.3.0 以上,及iOS或Android的作業系統。

liff.init({
 liffId: '後台取得的LIFF ID'
}) .then(() => {
 if (liff.isApiAvailable('shareTargetPicker')) {
  //todo
 } else {        
  alert("你的 LINE App 暫時不支援 Share Target Picker");
 }       
}).catch((err) => {
 console.log('初始化失敗')
});

從 code 中的 if-else 判斷可知,當 liff.isApiAvailable('apiName') 回傳true,代表 檢查對象(apiName) 在此環境下可以使用;反之回傳false,則無法使用。

在電腦本機利用Chrome瀏覽器實測
image

在手機利用LINE's in-app browser實測
image

官方文件和這篇文章,皆有提到: 如果是在外部瀏覽器呼叫,將會永遠回傳 true。
但是用chrome實測的結果,回傳是false。暫時無法確定這句話的意思,希望有經過,能為此解答。

參考資料


上一篇
[Day07] LIFF GetLineVersion
下一篇
[Day09] LIFF IsInClient
系列文
認識LIFF容易嗎?30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
arguskao
iT邦新手 4 級 ‧ 2022-12-13 20:37:31

在手機利用LINE's in-app browser實測

我測試也是說不支援,但是我的Line是12.0以上

我要留言

立即登入留言