SlideShare une entreprise Scribd logo
1  sur  12
Télécharger pour lire hors ligne
Push Notifications for the web
Eiji Kitamura | April 4th 2015
なぜウェブのプッシュ通知は重要なのか?
● ユーザーエンゲージメントの手法
○ メール
○ ソーシャルメディア
○ ネイティブアプリ
● モバイルウェブのプッシュ通知
○ 登録・インストール不要
○ ページにアクセスし、パーミッションを許可するのみ
○ いつでもどこでも、通信さえできれば届けられる
○ 通知受信時にブラウザが立ち上がっている必要はない
Demo
https://simple-push-demo.appspot.com/
How it works
HTTPS
HTTP Push
Mobile Browser
Service Worker
Server
Google Cloud Messaging Server
HTTP + XMPP POST
How to set up GCM
● console.developers.google.com にアクセス
● 「プロジェクトを作成」
● 「概要」から「プロジェクト番号」をメモ
● 「API」から下記を enable する
○ Google Cloud Messaging for Android
○ Google Cloud Messaging for Chrome
● 「認証情報」でサーバーキーを作成
○ localhost で試す場合は IP アドレスは指定しない
○ 「API キー」をメモ
How to implement (1)
● manifest.json に gcm 関連のプロパティを追加
プロジェクト番号
常に
● フロント側コードで service worker を register する
How to implement (2)
の登録完了
● フロント側コードで subscribe する
How to implement (3)
ボタンクリックなどのタイミングで
するとユーザーに許可を求める
これらの情報をサーバーに送り、プッシュに備える
の
● Service Worker 側コードで 通知を受け取る
How to implement (4)
通知を出す
通知の種別を示すタグ
● 通知クリックでの動作
How to implement (5)
● GCM に POST
○ https://android.googleapis.com/gcm/send
○ Authorization: key=[API キー]
○ Content-Type: application/json
■ もしくは www-form-urlencoded
○ Body には JSON 文字列
How to push a message
…
現在の実装における制約
● Push メッセージにデータを乗せられない
● Push されたら通知を出さなければならない
● 通知にデータを乗せられない

Contenu connexe

Tendances

Swaggerのさわりだけ
SwaggerのさわりだけSwaggerのさわりだけ
Swaggerのさわりだけ
Masakazu Muraoka
 

Tendances (20)

Espruinoの紹介
Espruinoの紹介Espruinoの紹介
Espruinoの紹介
 
JavaScriptで ごく普通にhttp通信をする 〜esp8266+espruinoでhttp getリクエストをするテスト〜
JavaScriptで ごく普通にhttp通信をする 〜esp8266+espruinoでhttp getリクエストをするテスト〜JavaScriptで ごく普通にhttp通信をする 〜esp8266+espruinoでhttp getリクエストをするテスト〜
JavaScriptで ごく普通にhttp通信をする 〜esp8266+espruinoでhttp getリクエストをするテスト〜
 
Swaggerのさわりだけ
SwaggerのさわりだけSwaggerのさわりだけ
Swaggerのさわりだけ
 
Web屋という仕事のこれから Web動向からWeb屋に必要な技術を考えてみる
Web屋という仕事のこれから Web動向からWeb屋に必要な技術を考えてみるWeb屋という仕事のこれから Web動向からWeb屋に必要な技術を考えてみる
Web屋という仕事のこれから Web動向からWeb屋に必要な技術を考えてみる
 
Facebook「埋め込み投稿」機能
Facebook「埋め込み投稿」機能Facebook「埋め込み投稿」機能
Facebook「埋め込み投稿」機能
 
airyのご紹介
airyのご紹介airyのご紹介
airyのご紹介
 
Mozapps installがなくなったことへの不平不満
Mozapps installがなくなったことへの不平不満Mozapps installがなくなったことへの不平不満
Mozapps installがなくなったことへの不平不満
 
WorcCamp Kansai 2015 LT大会
WorcCamp Kansai 2015 LT大会WorcCamp Kansai 2015 LT大会
WorcCamp Kansai 2015 LT大会
 
第4回concrete5初心者勉強会-基礎編-
第4回concrete5初心者勉強会-基礎編-第4回concrete5初心者勉強会-基礎編-
第4回concrete5初心者勉強会-基礎編-
 
WordCamp Kansai 2015 プレイベント「コントリビューターデイ」
WordCamp Kansai 2015 プレイベント「コントリビューターデイ」WordCamp Kansai 2015 プレイベント「コントリビューターデイ」
WordCamp Kansai 2015 プレイベント「コントリビューターデイ」
 
Cómo subir un vídeo de Youtube a Blogger
Cómo subir un vídeo de Youtube a BloggerCómo subir un vídeo de Youtube a Blogger
Cómo subir un vídeo de Youtube a Blogger
 
PWAを使ってWebXRコンテンツをオフラインで動くようにする手順について
PWAを使ってWebXRコンテンツをオフラインで動くようにする手順についてPWAを使ってWebXRコンテンツをオフラインで動くようにする手順について
PWAを使ってWebXRコンテンツをオフラインで動くようにする手順について
 
ネイティブアプリ開発を加速する、モダンバックエンドとのタイアップ手法
ネイティブアプリ開発を加速する、モダンバックエンドとのタイアップ手法ネイティブアプリ開発を加速する、モダンバックエンドとのタイアップ手法
ネイティブアプリ開発を加速する、モダンバックエンドとのタイアップ手法
 
ホームページ制作
ホームページ制作ホームページ制作
ホームページ制作
 
PWA aruaru
PWA aruaruPWA aruaru
PWA aruaru
 
XRにおけるプロトタイピングについて
XRにおけるプロトタイピングについてXRにおけるプロトタイピングについて
XRにおけるプロトタイピングについて
 
20160121 hachioji mt_cloud_handson
20160121 hachioji mt_cloud_handson20160121 hachioji mt_cloud_handson
20160121 hachioji mt_cloud_handson
 
PhoneGapで作るハイブリッドアプリケーション
PhoneGapで作るハイブリッドアプリケーションPhoneGapで作るハイブリッドアプリケーション
PhoneGapで作るハイブリッドアプリケーション
 
Thing.jsについて
Thing.jsについてThing.jsについて
Thing.jsについて
 
JS非同期処理のいま
JS非同期処理のいまJS非同期処理のいま
JS非同期処理のいま
 

En vedette

2014年 最も習慣化したい5つのITトレンド - What's Hot in 2014 NPO x IT
2014年 最も習慣化したい5つのITトレンド - What's Hot in 2014 NPO x IT2014年 最も習慣化したい5つのITトレンド - What's Hot in 2014 NPO x IT
2014年 最も習慣化したい5つのITトレンド - What's Hot in 2014 NPO x IT
孝弘 笠原
 
映画にでてくるハッカーになりたい - YAPC Asia 2010
映画にでてくるハッカーになりたい - YAPC Asia 2010映画にでてくるハッカーになりたい - YAPC Asia 2010
映画にでてくるハッカーになりたい - YAPC Asia 2010
Hiroh Satoh
 

En vedette (20)

プッシュ通知サービスを利用した 火山活動情報配信の試み
プッシュ通知サービスを利用した 火山活動情報配信の試みプッシュ通知サービスを利用した 火山活動情報配信の試み
プッシュ通知サービスを利用した 火山活動情報配信の試み
 
顧客感動創造スマホアプリ制作ツール「iPost」機能説明資料
顧客感動創造スマホアプリ制作ツール「iPost」機能説明資料顧客感動創造スマホアプリ制作ツール「iPost」機能説明資料
顧客感動創造スマホアプリ制作ツール「iPost」機能説明資料
 
Growth Push 運用マニュアル
Growth Push 運用マニュアルGrowth Push 運用マニュアル
Growth Push 運用マニュアル
 
グロースハッカーになろう
グロースハッカーになろうグロースハッカーになろう
グロースハッカーになろう
 
AARRRで始めるグロースハック
AARRRで始めるグロースハックAARRRで始めるグロースハック
AARRRで始めるグロースハック
 
Cognito、Mobile SDK、SNSでサーバいらずのプッシュ通知
Cognito、Mobile SDK、SNSでサーバいらずのプッシュ通知Cognito、Mobile SDK、SNSでサーバいらずのプッシュ通知
Cognito、Mobile SDK、SNSでサーバいらずのプッシュ通知
 
Groovy, Transforming Language
Groovy, Transforming LanguageGroovy, Transforming Language
Groovy, Transforming Language
 
グロースハック
グロースハックグロースハック
グロースハック
 
【SED】勉強会 第5回ソーシャルゲームの行動解析
【SED】勉強会 第5回ソーシャルゲームの行動解析【SED】勉強会 第5回ソーシャルゲームの行動解析
【SED】勉強会 第5回ソーシャルゲームの行動解析
 
iOS 8/Swift エンジニア勉強会@ヤフー
iOS 8/Swift エンジニア勉強会@ヤフーiOS 8/Swift エンジニア勉強会@ヤフー
iOS 8/Swift エンジニア勉強会@ヤフー
 
2014年 最も習慣化したい5つのITトレンド - What's Hot in 2014 NPO x IT
2014年 最も習慣化したい5つのITトレンド - What's Hot in 2014 NPO x IT2014年 最も習慣化したい5つのITトレンド - What's Hot in 2014 NPO x IT
2014年 最も習慣化したい5つのITトレンド - What's Hot in 2014 NPO x IT
 
グロースハック_UIscope_講演資料20150825
グロースハック_UIscope_講演資料20150825グロースハック_UIscope_講演資料20150825
グロースハック_UIscope_講演資料20150825
 
AARRRで始めるグロースハック
AARRRで始めるグロースハックAARRRで始めるグロースハック
AARRRで始めるグロースハック
 
大分グロースハッカーズナイト#01
大分グロースハッカーズナイト#01大分グロースハッカーズナイト#01
大分グロースハッカーズナイト#01
 
グロースハックのマインドセット
グロースハックのマインドセットグロースハックのマインドセット
グロースハックのマインドセット
 
月商数千万のソーシャルゲームを作る方法
月商数千万のソーシャルゲームを作る方法月商数千万のソーシャルゲームを作る方法
月商数千万のソーシャルゲームを作る方法
 
VASILYの考えるグロースハックとは
VASILYの考えるグロースハックとはVASILYの考えるグロースハックとは
VASILYの考えるグロースハックとは
 
スマホアプリの収益のモデリング
スマホアプリの収益のモデリングスマホアプリの収益のモデリング
スマホアプリの収益のモデリング
 
映画にでてくるハッカーになりたい - YAPC Asia 2010
映画にでてくるハッカーになりたい - YAPC Asia 2010映画にでてくるハッカーになりたい - YAPC Asia 2010
映画にでてくるハッカーになりたい - YAPC Asia 2010
 
リッチなプッシュ通知の実践的運用ノウハウ
リッチなプッシュ通知の実践的運用ノウハウリッチなプッシュ通知の実践的運用ノウハウ
リッチなプッシュ通知の実践的運用ノウハウ
 

Similaire à [Service worker] プッシュ通知の使い方

Visual Web Developer 2010 とExpression Web 4 で構築する HTML5 と JavaScript
 Visual Web Developer 2010 とExpression Web 4 で構築する HTML5 と JavaScript Visual Web Developer 2010 とExpression Web 4 で構築する HTML5 と JavaScript
Visual Web Developer 2010 とExpression Web 4 で構築する HTML5 と JavaScript
Osamu Monoe
 

Similaire à [Service worker] プッシュ通知の使い方 (20)

はやい!?うまい!?安い!?すべてのプラットフォームに届く「 PWA 」の魅力
はやい!?うまい!?安い!?すべてのプラットフォームに届く「 PWA 」の魅力はやい!?うまい!?安い!?すべてのプラットフォームに届く「 PWA 」の魅力
はやい!?うまい!?安い!?すべてのプラットフォームに届く「 PWA 」の魅力
 
【Monaca×mobile backend】 プッシュ通知をカンタン実装! スピード感ある開発をしよう!
【Monaca×mobile backend】 プッシュ通知をカンタン実装! スピード感ある開発をしよう!【Monaca×mobile backend】 プッシュ通知をカンタン実装! スピード感ある開発をしよう!
【Monaca×mobile backend】 プッシュ通知をカンタン実装! スピード感ある開発をしよう!
 
ソーシャルログイン5分クッキング
ソーシャルログイン5分クッキングソーシャルログイン5分クッキング
ソーシャルログイン5分クッキング
 
javascriptの基礎
javascriptの基礎javascriptの基礎
javascriptの基礎
 
Openshift 20191216
Openshift 20191216Openshift 20191216
Openshift 20191216
 
20170415 mttokyo handson
20170415 mttokyo handson20170415 mttokyo handson
20170415 mttokyo handson
 
OneNote のススメ。 Office 365 利活用の促進 - クライアント推し。
OneNote のススメ。 Office 365 利活用の促進 - クライアント推し。OneNote のススメ。 Office 365 利活用の促進 - クライアント推し。
OneNote のススメ。 Office 365 利活用の促進 - クライアント推し。
 
Kii cloud 勉強会 #2
Kii cloud 勉強会 #2Kii cloud 勉強会 #2
Kii cloud 勉強会 #2
 
20111203 gdd2011フィードバック 公開用
20111203 gdd2011フィードバック 公開用20111203 gdd2011フィードバック 公開用
20111203 gdd2011フィードバック 公開用
 
Openshift 20191219
Openshift 20191219Openshift 20191219
Openshift 20191219
 
Prejob wordpress v2_1121
Prejob wordpress v2_1121Prejob wordpress v2_1121
Prejob wordpress v2_1121
 
Prejob wordpress v2_1121
Prejob wordpress v2_1121Prejob wordpress v2_1121
Prejob wordpress v2_1121
 
Azure App Service を使った無料のハンズオン
Azure App Service を使った無料のハンズオンAzure App Service を使った無料のハンズオン
Azure App Service を使った無料のハンズオン
 
技術選択とアーキテクトの役割 (要約版)
技術選択とアーキテクトの役割 (要約版)技術選択とアーキテクトの役割 (要約版)
技術選択とアーキテクトの役割 (要約版)
 
Whats new in_a360-19-20_jp
Whats new in_a360-19-20_jpWhats new in_a360-19-20_jp
Whats new in_a360-19-20_jp
 
Visual Web Developer 2010 とExpression Web 4 で構築する HTML5 と JavaScript
 Visual Web Developer 2010 とExpression Web 4 で構築する HTML5 と JavaScript Visual Web Developer 2010 とExpression Web 4 で構築する HTML5 と JavaScript
Visual Web Developer 2010 とExpression Web 4 で構築する HTML5 と JavaScript
 
【Dialogflow cx】はじめてみよう google cloud dialogflow cx 編
【Dialogflow cx】はじめてみよう google cloud dialogflow cx 編【Dialogflow cx】はじめてみよう google cloud dialogflow cx 編
【Dialogflow cx】はじめてみよう google cloud dialogflow cx 編
 
Unity×HTMLで作るiPhone オンラインゲーム開発事例
Unity×HTMLで作るiPhone オンラインゲーム開発事例Unity×HTMLで作るiPhone オンラインゲーム開発事例
Unity×HTMLで作るiPhone オンラインゲーム開発事例
 
進化を続けるBluemix 最新情報
進化を続けるBluemix 最新情報進化を続けるBluemix 最新情報
進化を続けるBluemix 最新情報
 
DEV-015_実践! App Service 徹底活用 ~一貫したビジネスロジックの実現~
DEV-015_実践! App Service 徹底活用 ~一貫したビジネスロジックの実現~DEV-015_実践! App Service 徹底活用 ~一貫したビジネスロジックの実現~
DEV-015_実践! App Service 徹底活用 ~一貫したビジネスロジックの実現~
 

[Service worker] プッシュ通知の使い方