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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
ufoo68
July 27, 2020
Technology
780
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
LIFF通話
ufoo68
July 27, 2020
More Decks by ufoo68
See All by ufoo68
BlenderをCodexで動かす
ufoo68
1
590
改めて考えるOSSのあり方について
ufoo68
0
72
文法で学ばないJavaScript
ufoo68
0
87
Cookieとは?
ufoo68
1
97
今更ながら、開発現場での生成AI活用について
ufoo68
0
94
28歳独身エンジニア 婚活してみた
ufoo68
0
47
OpenAIでクッキー型を作る
ufoo68
1
78
初めて開発リーダーをやってみた話
ufoo68
0
160
M5Stack用の指紋認証デバイスを試す
ufoo68
0
940
Other Decks in Technology
See All in Technology
老害フォレンジッカーはAI羊の夢を見るか?
tadmaddad
0
350
コネクションをピン留めさせずに SELECTクエリのタイムアウトを設定した話
codmoninc
0
170
AIのためのEthernet技術動向 (SerDes)
markunet
1
240
カートの信頼性を担保するWireMockを使ったe2eテスト
ykagano
0
610
AI開発に用いられるHPC技術について
gpuunite_official
0
150
Invisible to AI? Making TYPO3 Sites Quotable by AI Search Systems
wolfgangwagner
0
240
ハーレムエンジニアリング
kazuma777777
0
190
Genie Codeハンズオン応用編
taka_aki
0
130
AIで変わるエンジニアの働き方(仮)
naoinaoi
0
210
同じWAFが、攻撃の“形”は弾く── 正当な“形”の不正は通す
kuroneko13
0
250
Android skills に学ぶ
kokiko
0
130
SmartHR Engineering Team Deck
smarthr
1
3.1k
Featured
See All Featured
Designing Powerful Visuals for Engaging Learning
tmiket
1
500
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
170
A Modern Web Designer's Workflow
chriscoyier
698
190k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.2k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
660
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
410
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.5k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.3k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.9k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.8k
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記事を書いておくとメモ代わりになる