Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
20201017LIFF workshop at meichu
Search
LINE Developers Taiwan
PRO
October 17, 2020
Programming
0
36k
20201017LIFF workshop at meichu
20201017 梅竹黑客松賽前工作坊 with Coke
LINE Developers Taiwan
PRO
October 17, 2020
Tweet
Share
More Decks by LINE Developers Taiwan
See All by LINE Developers Taiwan
Live Activities in LINE
line_developers_tw
PRO
0
9
Neumorphism x Liquid Glass
line_developers_tw
PRO
0
10
猜你喜歡 – 打造高度擴展的個人化電商推薦
line_developers_tw
PRO
0
22
打造新電商搜尋體驗- 搜尋意圖辨識
line_developers_tw
PRO
0
7
比價群組
line_developers_tw
PRO
0
11
從混亂到優雅,讓專案不再失控:ATDD 與 Clean Architecture 的後端實戰之路
line_developers_tw
PRO
0
10
2049智能共存:透過LINE Bot Agent迎接後人類時代
line_developers_tw
PRO
0
39
菸酒生在 LINE Taiwan 的後端雙刀流
line_developers_tw
PRO
0
1.4k
讓測試不再 BB! 從 BDD 到 CI/CD, 不靠人力也能 MVP
line_developers_tw
PRO
0
1.5k
Other Decks in Programming
See All in Programming
基礎から学ぶ大画面対応(Learning Large-Screen Support from the Ground Up)
tomoya0x00
0
3.2k
@Environment(\.keyPath)那么好我不允许你们不知道! / atEnvironment keyPath is so good and you should know it!
lovee
0
120
Rancher と Terraform
fufuhu
2
550
rage against annotate_predecessor
junk0612
0
170
複雑なドメインに挑む.pdf
yukisakai1225
5
1.2k
Testing Trophyは叫ばない
toms74209200
0
890
旅行プランAIエージェント開発の裏側
ippo012
2
920
奥深くて厄介な「改行」と仲良くなる20分
oguemon
1
560
テストコードはもう書かない:JetBrains AI Assistantに委ねる非同期処理のテスト自動設計・生成
makun
0
440
時間軸から考えるTerraformを使う理由と留意点
fufuhu
16
4.8k
Android端末で実現するオンデバイスLLM 2025
masayukisuda
1
170
AIでLINEスタンプを作ってみた
eycjur
1
230
Featured
See All Featured
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
Visualization
eitanlees
148
16k
A Tale of Four Properties
chriscoyier
160
23k
Raft: Consensus for Rubyists
vanstee
140
7.1k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Docker and Python
trallard
46
3.6k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
920
Making Projects Easy
brettharned
117
6.4k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
8
530
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3k
Building Adaptive Systems
keathley
43
2.7k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
Transcript
LIFF LINE Front-end Framework 1 LINE UIT Chien Cheng Yi
(Coke)
LINE UIT TEAM • User Interface Technology a.k.a Frontend •
Covert business idea to real idea • Work with Japan, Korea, Thailand, Vietnam and China teams 2 JAPAN TAIWAN THAILAND KOREA VIETNAM CHINA
LINE UIT TEAM Products 3
LIFF LINE Front-end Framework • Combine your app with LINE,
all together • LIFF is a platform make your web apps easily to be integrated into LINE app 4
Agenda • LIFF Introduction • Start first LIFF app •
LIFF Starter • Heroku • LINE Dev Console • LINE Flex message • Workshop • LIFF MEME • LIFF Campaign Invite 5
LIFF Intro • Web application • HTML, CSS and Javascript
• Integrate with LINE platform • LINE login • User Profile • Message API • JS SDK 6
Start first LIFF app 7
LINE LIFF Starter https://github.com/line/line-liff-v2-starter https://github.com/line/line-liff-v2-starter https://github.com/line/line-liff-v2-starter 8
LINE LIFF Starter Deploy 9
Heroku Create the 10
Heroku 11
Heroku Create New App 12
OOPS! 13
LINE Dev Console Create Channel, Create LIFF 14
LINE Dev Console Create Provider, Create Channel, Create LIFF •
https://developers.line.biz/console/ 15
LINE Dev Console Create Channel 16
LINE Dev Console Create Channel • Channel Type • LINE
Login • Provider • Channel Name • Channel Description 17
Channel Name Provider Channel Desc Chat Room Click 設定 ->
我的帳號 -> 連動中的應⽤程式 18
LINE Dev Console Create LIFF 19
Create LIFF Scope • profie (user profile) • openid (user
id) • chat_message.wrirte • liff could send a message 20
Create LIFF Size 21
Create LIFF 22
Create LIFF Bot Link Feature 23
Create LIFF Module mode (Only show when size is “Full”)
• Disable • Show the share button • Enable • Hide the share button 24
Create LIFF 25
26
27 https://engineering.linecorp.com/zh-hant/blog/new-liff-url-infomation/
Create LIFF Copy LIFF ID Copy LIFF ID 28
Back to Heroku 29
Heroku Set LIFF ID 30
Heroku Set LIFF ID 31
Yeah! 32
Heroku How to Deploy 33
Wait a moment 34
35
LIFF Starter 練習 • 在⼿機上開啟liff url (https://liff.line.me/…) 查看是否為liff web view
• 使⽤ 到聊天室 • 參考 https://developers.line.biz/en/reference/liff/#client-api • 使⽤ • Deploy到Heroku liff.permanentLink.createUrl() liff.sendMesssage() 36
LINE Flex Message 37
LINE Flex Message 38
LINE Flex Message • Messages with a customizable layout •
LIFF can send flex by using 39 liff.sendMesssage() liff.shareTargetPicker() •Target picker is supported on 10.3.0 or later for both LINE for iOS and LINE for Android.
LINE FLEX Message Simulator https://developers.line.biz/flex-simulator/ 40
LINE Workshop 41
Fork Repo https://github.com/cichien/liff-workshop-demo 42
43 Deploy new app in Heroku
44 Create new LIFF app
How to Develop • git clone https://github.com/xxxx/xxxx • npm install
• cp .env.example .env • set MY_LIFF_ID=${your liffId} • npm run dev • visit https://localhost:8000 45
How to Login LIFF in localhost • Run https in
localhost • ngrok • Self-signed certificate in localhost (Do not use it in production !!!) • Create the liff app for localhost 46
git checkout liff-meme 47
LIFF MEME 48
liff.isApiAvailable() 49 if (liff.isApiAvailable('shareTargetPicker')) { //.... } else { alert('你的
LINE App 暫時不⽀援 Share Target Picker ,將開始外部瀏覽器。'); liff.openWindow({ url: "{{.LIFFRedirectURL}}", external: true }); }
git checkout liff-campaign 50
LIFF Campaign Invite 51
Campaign API • https://reurl.cc/VXWxjZ • 建立活動 • 參加活動 • 取得活動參加結果
52
liff.state • https://liff-workshop-demo.herokuapp.com/? liff.state=%2Fresult.html%3FcampaignId%3D32 • https://liff-workshop-demo.herokuapp.com/result.html?campaignId=32 53
liff.state • Show Loading animation • Redirect by your server
54 if (new URL(location).searchParams.get('liff.state') !== null) { document.body.style.display = 'none' //... } •
Q & A 55