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
Webプッシュ通知触ってみた
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
matumoto
February 22, 2023
Technology
46
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Webプッシュ通知触ってみた
2023/2月に行われたサークル内追い出しLTの資料です
イベントページはこちら
https://zli.connpass.com/event/275487/
matumoto
February 22, 2023
More Decks by matumoto
See All by matumoto
Go標準パッケージのI/O処理をながめる
matumoto
0
420
testingを眺める
matumoto
1
210
sync/v2 プロポーザルの 背景と sync.Pool について
matumoto
0
770
Goトランザクション処理
matumoto
1
83
いまいちどスライスの 挙動を見直してみる
matumoto
0
410
Go1.22のリリース予定の機能を見る
matumoto
0
87
GoのUnderlying typeについて
matumoto
0
230
Typed-nilについて
matumoto
0
380
GoのType Setsという概念
matumoto
0
54
Other Decks in Technology
See All in Technology
IaC コードを資産へ:AWS CDK 社内ライブラリと横断展開 / aws-summit-japan-2026
gotok365
5
1.2k
Chainlitで作るお手軽チャットUI
ynt0485
0
280
Oracle AI Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
6
2k
失敗を資産に変えるClaude Code
shinyasaita
0
720
【Cyber-sec+】経営層を"動かす"ための考え方
hssh2_bin
0
200
OTel × Datadog で 「AI活用」を計測し、改善に繋げる
shihochan
2
430
攻撃者視点で考えるDetection Engineering
cryptopeg
3
2k
マルチアカウント環境での コーディングエージェントを使った障害調査が大変なので AIエージェントにReadOnly権限を付与してみた / ReadOnly AI Agents for Multi-Account AWS Incident Response
yamaguchitk333
2
110
新しいUbuntu/GNOMEが使いたいからXからWaylandへ移行頑張ってるの巻 2026-06-20
nobutomurata
0
150
アンオフィシャルな、オフィシャルからのお願い
wyamazak_devrel
0
140
就職⽀援サービスにおけるキャリアアドバイザーのシフトスケジューリング
recruitengineers
PRO
1
150
iOS アプリの「これって不具合ですか?」を AI に調べてもらう
miichan
0
100
Featured
See All Featured
It's Worth the Effort
3n
188
29k
Exploring anti-patterns in Rails
aemeredith
3
410
Ruling the World: When Life Gets Gamed
codingconduct
0
260
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.9k
30 Presentation Tips
portentint
PRO
1
330
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Heart Work Chapter 1 - Part 1
lfama
PRO
7
36k
What does AI have to do with Human Rights?
axbom
PRO
1
2.2k
Why Our Code Smells
bkeepers
PRO
340
58k
How to train your dragon (web standard)
notwaldorf
97
6.7k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Transcript
Webプッシュ通知 触ってみた 追い出しLT 2023/02/22
• 学年:28期 • 所属:会津大学コンピュータ理工学部 • 今興味のある技術:Go, Haskell, Rustで競プ ロ •
趣味: ◦ モンハン ▪ 燃えないゴミはもう無いんだよ ◦ イカᔦꙬᔨ ◦ FGO ▪ 2部7章良かったね • Twitter:@matumoto_1234 matumoto 松本 響輝 自己紹介
今回触ってみた技術 • Webプッシュ通知
FirebaseCloudMessaging(FCM)の概要 • Firebaseサーバーに送り先を登録する • Firebaseサーバーから送り先に対してプッシュ通知を送る
送り先の登録処理 • デバイスで登録をする場合
送り先の登録処理 • ブラウザで登録する場合
送り先の登録処理 • では何に登録させるか? ◦ サイトごとに一意なものに登録させる( PushSubscriptionが発生する) ◦ Firebaseが用意しているSDKでmasseging.getToken(**省略*/)を呼び出す と登録トークンがFirebase側で発行されて返される(2回目以降はキャッシュされたも のが返される)
送られるとどうなるか • 送り先がサイトごとに一意 ◦ じゃあサイトを開いていないときとかは通知が来ないのでは? ◦ →ちゃんと来てくれる ▪ ServiceWorkerが受け取っている ServiceWorker
通知許可
ServiceWorkerについて • ServiceWorker発火などでなんらかの動作をしたい ◦ ServiceWorkerAPIが実は提供されている
実際に送るには • FirebaseConsoleからプッシュ通知を送ることができる • Firebase Admin SDKからも同じように送れる
実際に送るには • Firebase Admin SDKを使うメリット ◦ アプリのサーバー側から通知を叩ける
実装編
実装 • Firebaseプロジェクトを作って、生成されるサーバーキーとかを保管 • firebase-toolkitsをPCにインストール • $ firebase initとかをして生成されるindex.htmlなどのファイルに、さっきのサーバー キーとかをコピペ
• $ firebase serve でローカルファイルをホスティング • ホスティングしたlocalhost:5000とかに行って通知を許可 • FirebaseConsole(Web画面)から通知を送る • AC
デモ
ご卒業 おめでとうございます! 社会人になっても健康でいやがれください