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
1
750
LIFF通話
ufoo68
July 27, 2020
Tweet
Share
More Decks by ufoo68
See All by ufoo68
Cookieとは?
ufoo68
1
44
今更ながら、開発現場での生成AI活用について
ufoo68
0
49
28歳独身エンジニア 婚活してみた
ufoo68
0
12
OpenAIでクッキー型を作る
ufoo68
1
47
初めて開発リーダーをやってみた話
ufoo68
0
120
M5Stack用の指紋認証デバイスを試す
ufoo68
0
820
結婚式のクイズアプリを自作した話
ufoo68
0
650
M5Stack Core2とAlexaでインターフォンに自動で対応してくれるIoTデバイスを作りたかった話
ufoo68
0
700
KASHIKOIHAKO
ufoo68
0
600
Other Decks in Technology
See All in Technology
Cloud WAN MCP Serverから考える新しいネットワーク運用 / 20251228 Masaki Okuda
shift_evolve
PRO
0
130
フィッシュボウルのやり方 / How to do a fishbowl
pauli
2
430
通勤手当申請チェックエージェント開発のリアル
whisaiyo
3
630
Microsoft Agent Frameworkの可観測性
tomokusaba
1
120
202512_AIoT.pdf
iotcomjpadmin
0
160
日本の AI 開発と世界の潮流 / GenAI Development in Japan
hariby
2
720
小さく、早く、可能性を多産する。生成AIプロジェクト / prAIrie-dog
visional_engineering_and_design
0
240
ECS_EKS以外の選択肢_ROSA入門_.pdf
masakiokuda
1
120
AWSインフルエンサーへの道 / load of AWS Influencer
whisaiyo
0
240
会社紹介資料 / Sansan Company Profile
sansan33
PRO
11
390k
Building Serverless AI Memory with Mastra × AWS
vvatanabe
1
820
2025-12-27 Claude CodeでPRレビュー対応を効率化する@機械学習社会実装勉強会第54回
nakamasato
4
1.3k
Featured
See All Featured
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
30
Being A Developer After 40
akosma
91
590k
Evolving SEO for Evolving Search Engines
ryanjones
0
89
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.3k
How GitHub (no longer) Works
holman
316
140k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.2k
Getting science done with accelerated Python computing platforms
jacobtomlinson
0
84
Google's AI Overviews - The New Search
badams
0
880
Exploring anti-patterns in Rails
aemeredith
2
220
Tell your own story through comics
letsgokoyo
0
770
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.9k
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記事を書いておくとメモ代わりになる