しみず@shimy_net
JAWSUG大阪 2013.11.2
Amazon SNS
Mobile Push
自己紹介
しみず @shimy_net
Webアーキテクト
アマゾン芸人
無駄に技術を使って
面白いことをする
本を執筆しました
http://goo.gl/QtaK6
iOS
2014
お仕事
アーキテクト的な何か
Webシステム構築(SI)
スマートフォンアプリ開発
iOS7(́・ω・`)
目次
・Push Notification とは
・Amazon SNS Mobile Push とは
・Amazon SNS Mobile Push を使ってみる
・実際にデモしてみる
・まとめ的な
Push Notification
とは
Push Notification とは
□ iOS, Android, Kindle などに通知を送るサービス
これコレです
Push Notification とは
□ プラットフォームごとに仕様が異なる
APNS
GCM
ADM
Provider
iOS
Android
Kindle
Push Notification とは
□ プラットフォームごとに仕様が異なる
APNS
GCM
ADM
Provider
iOS
Android
Kindle
まずは、iOSの話
Push Notification とは
□ iOS の場合(手順)
APNS
Provider
app
Push Notification とは
□ iOS の場合(手順)
APNS
Provider
app
Device Token 要求1
Push Notification とは
□ iOS の場合(手順)
Device Token
Provider
app
Device Token 要求1
2
APNS
Push Notification とは
□ iOS の場合(手順)
Device Token
Device Token
Provider
app
Device Token 要求1
2
3
APNS
Push Notification とは
□ iOS の場合(手順)
Device Token
Device Token
Device Token
Provider
app
Device Token 要求1
2
3
4
APNS
Push Notification とは
□ iOS の場合(手順)
Device Token
Device Token
Device Token
Provider
app
Device Token 要求1
2
3
4
5
Device Token
Payload
APNS
Push Notification とは
□ iOS の場合(手順)
Device Token
Device Token
Device Token
Provider
app
Device Token 要求1
2
3
4
6
Payload
5
Device Token
Payload
APNS
Push Notification とは
□ iOS の場合(Payload)
{
"aps":
{
alert : てすとだよん",
"sound": "default ,
"badge": 1
}
}
Push Notification とは
□ iOS の場合(Payload)
{
"aps":
{
alert : てすとだよん",
"sound": "default ,
"badge": 1
}
}
Push Notification とは
□ Android
APNS
GCM
ADM
Provider
iOS
Android
Kindle
Androidの話
Push Notification とは
□ Kindle
APNS
GCM
ADM
Provider
iOS
Android
Kindle
Kindleの話
プラットフォームごとに
仕様が異なるので大変
Push Notification とは
□ Windows Phone は? (́・ω・`)
Push Notification とは
□ プラットフォームごとに仕様が異なるので大変
サーバー側(Provider)
・証明書
・Payload 作成
・Device Token 管理
・送信手続き
クライアント側(iOS, Android,,,)
・受信手続き
・OSとアプリ間の連携
Push Notification とは
□ 横断的に管理できる何かが必要
APNS
GCM
ADMASP導入とか
iOS
Android
Kindle
Provider
Amazon SNS
Mobile Push とは
SNS Mobile Push とは
□ 各プラットフォームを横断して一斉送信
  ※ 3,000 topics, 10,000 subscribers
□ 各デバイスへの個別送信
□ 各プラットフォームからのフィードバックをもとに
  デバイストークンの入れ替えや無効化を自動実行
□ スケーラビリティ
□ 100万通知 あたり $1
SNS Mobile Push とは
□ プラットフォーム横断のための中間マネージドサービス
APNS
GCM
ADM
Amazon SNS
Mobile Push
iOS
Android
Kindle
Amazon SNS
Mobile Push を
使ってみる
1) iOSアプリを実装する
2) SNSを設定する
3) SNSで送信する
4) iOSアプリで受信する
Mobile Push を使ってみる
Mobile Push を使ってみる
・Push Notification を有効にした Identifier を作成
 ※ワイルドカードはダメ
・証明書を作成
・p12でエクスポート
・プロビジョニング作成
 
iOS Developer
Member Center
の話は省略
Mobile Push を使ってみる
 
□ iOSアプリ実装
Mobile Push を使ってみる
 
App Delegate
を実装
□ iOSアプリ実装
Mobile Push を使ってみる
 
Device Token 要求
Device Token 取得
□ Device Token
Mobile Push を使ってみる
 
Device Tokenメモっておく
□ アプリを起動すると、Device Token が表示される
1) iOSアプリを実装する
2) SNSを設定する
3) SNSで送信する
4) iOSアプリで受信する
Mobile Push を使ってみる
Mobile Push を使ってみる
 
1
□ Add a New App
Mobile Push を使ってみる
 
2
3
4
Mobile Push を使ってみる
 
2
□ Add Endpoints
1
Mobile Push を使ってみる
 
3
4
先ほど取得した
Device Tokenをセット
1) iOSアプリを実装する
2) SNSを設定する
3) SNSで送信する
4) iOSアプリで受信する
Mobile Push を使ってみる
Mobile Push を使ってみる
 
□ Publish
2
1
3
Mobile Push を使ってみる
4
5
6
Use platform specific json
message dictionaries
{
"APNS_SANDBOX":"{"aps":
{"alert":"HelloWorld","sound
":"default","badge":3}}"
}
1) iOSアプリを実装する
2) SNSを設定する
3) SNSで送信する
4) iOSアプリで受信する
Mobile Push を使ってみる
Mobile Push を使ってみる
 
Push Notification 受信
□ Push Notification
Mobile Push を使ってみる
 
□ Push Notification
Push Notification
を受信
Push Notification
を受信
Push Notification
を受信
実際に使ってみる
デモ
まとめ的な
□ 中間マネージドサービス
APNS
GCM
ADM
Amazon SNS
Mobile Push
iOS
Android
Kindle
Mobile Push をちゃんと使う
□ 元々の手続き
Device Token
Device Token
Device Token
Provider
app
Device Token 要求1
2
3
4
6
Payload
Device Token
Payload
APNS
Mobile Push をちゃんと使う
5
Mobile Push をちゃんと使う
□ 構成案
APNS
GCM/ADM
Device Token
Device Token
Device Token
app
Device Token 要求
Device Token
Payload
Payload
登録 SNS
DB
1
2
3
4
5
6
7
Endpoint Arn
Endpoint Arn
抽出、メッセージ作成
Endpoint Arn
8 Endpoint Arn
Endpoint Arn
9
Device Token
Publish
Endpoint Arn
Endpoint Arn
10
Payload
11
Feedback
Feedback
12
13
!
    以上!
ありがとうございました!

Amazon SNS Mobile Push を使ってみる