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
LIFF通話
Search
ufoo68
July 27, 2020
Technology
770
1
Share
LIFF通話
ufoo68
July 27, 2020
More Decks by ufoo68
See All by ufoo68
BlenderをCodexで動かす
ufoo68
0
34
改めて考えるOSSのあり方について
ufoo68
0
41
文法で学ばないJavaScript
ufoo68
0
58
Cookieとは?
ufoo68
1
68
今更ながら、開発現場での生成AI活用について
ufoo68
0
73
28歳独身エンジニア 婚活してみた
ufoo68
0
30
OpenAIでクッキー型を作る
ufoo68
1
64
初めて開発リーダーをやってみた話
ufoo68
0
140
M5Stack用の指紋認証デバイスを試す
ufoo68
0
880
Other Decks in Technology
See All in Technology
[OAWTT26][THR1028] Oracle AI Database 26ai へのアップグレード:ベストプラクティスと最新情報
oracle4engineer
PRO
1
110
ハーネスエンジニアリングの概要と設計思想
sergicalsix
9
5k
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
6
74k
AndroidアプリとCopilot Studioの統合
nakasho
0
100
「誰一人取り残されない」 AIエージェント時代のプロダクト設計思想 Product Management Summit 2026
mizushimac
0
110
Master Dataグループ紹介資料
sansan33
PRO
1
4.6k
#jawsugyokohama 100 LT11, "My AWS Journey 2011-2026 - kwntravel"
shinichirokawano
0
350
基盤を育てる 外部SaaS連携の運用
gamonges_dresscode
1
120
インターネットの技術 / Internet technology
ks91
PRO
0
210
AIを共同作業者にして書籍を執筆する方法 / How to Write a Book with AI as a Co-Creator
ama_ch
2
130
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
3.1k
自立を加速させる神器 - EMOasis #11
stanby_inc
0
140
Featured
See All Featured
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
220
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
200
Skip the Path - Find Your Career Trail
mkilby
1
110
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
270
Into the Great Unknown - MozCon
thekraken
41
2.4k
Abbi's Birthday
coloredviolet
2
7.1k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
10k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
230
HDC tutorial
michielstock
2
630
How to train your dragon (web standard)
notwaldorf
97
6.6k
Writing Fast Ruby
sferik
630
63k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
810
Transcript
LIFF通話 #lifflt
自己紹介 • 名前 ◦ 松永勇太(@ufoo_yuta) • 出身地 ◦ 滋賀県 •
やってること ◦ スポーツIoTLT主催 • 最近やったこと ◦ AWS-CDKとLINE Botのハンズオン
とても感動的な出来事
これはもう何か作るしかない 応募しなきゃ(使命感)
考えたこと ビデオチャットが覇権を握る時代(多分)なのでLIFFでも作ってみたい!
実際につくったもの LIFFを用いたビデオ通話アプリ DEMO
使い方(ざっくり) CALLする側の流れ
使い方(ざっくり) CALLされる側の流れ
使った技術 • SkyWay • LIFF • React • TypeScript ソースコード(GitHub)
ビデオ通話の実装 SkyWayというSDKを用いてP2P(Peer to Peer)の通信をする Peer Peer • Peer ID •
メディアストリーム
通信のやりとり 1. 通信をかけたい側(Caller)がPeer IDを生成 2. Peer IDをクエリストリング用いて通信をかけられる側(Callee)にURLを共有 3. CalleeはURLを開いて共有されたPeer IDとコネクションを行って、メディアストリー
ム(カメラ映像と音声)を送信する 4. Callerはメディアストリームを受け取ったらCalleeに自分のメディアストリームを送り 返す URL?id={Peer ID}
Peer IDの共有方法 LIFFのShareTargetPicker機能を用いてLINEの友達に送信する Caller Callee liff.shareTargetPicker([ { type: ‘text’, text:
`https://xxx?id=${myid}` } ])
ReactでSkyWayを使う実装例 自分の記事を参照した
TypeScriptでLIFF開発するには 今まではliff-typeという非公式のnpmパッケージを使っていた
しかし今回は @line/liffという公式のnpmパッケージが使える!
公式パッケージの嬉しいところ • npmパッケージを使う利点 ◦ ReactやVueなどの開発がやりやすい ◦ エディタの入力補完機能が使える • liff-typeとの比較 ◦
htmlに<script>タグをつける必要がない ◦ tsconfigのcompilerOptionsの変更がいらない
React+TypeScriptでのLIFF実装例 自分の記事を参照した
ShareTargetPickerの実装例 自分の記事を参照した
まとめ • SkyWayを用いればビデオ通話アプリが簡単に作成できる • LIFFのライブラリでLINEアカウント連携機能を用いたウェブアプリケーションが実装 できる • 公式のLIFFのnpmパッケージでReact+TypeScriptでのLIFF開発がさらにやりや すくなる •
自分用にQiita記事を書いておくとメモ代わりになる