AWS SNSを使う
Posted:
lambdaネタ
SNS + Lambda + Slack でアラート通知を受け取る - Qiita
障害時でも まずPush通知がされるまでの流れを把握
http://dev.classmethod.jp/cloud/aws/sns-mobile-token/ この中のフローが非常に参考になる。
大規模Push配信環境 メルカリの例
ハイパフォーマンスGaurun〜メルカリの大規模プッシュ配信を支えるミドルウェア〜 - Mercari Engineering Blog
Push通知が届かない場合
http://faq.growthbeat.com/article/60-push
- 電源が入っていない
- 証明書の有効期限が切れてる
- デバイスのプッシュ通知ステータスがアクティブ(Active)になっていない
- アプリがアンインストールされてる
- 登録されているデバイストークンと環境(development/production)が一致しない
証明書の扱いは難しいらしい
http://faq.growthbeat.com/article/81-growthpush
具体的にエラーとなるのは、下記のような場合です:
iOSの証明書の有効期限が切れている
iOSの証明書が無効化されている。
AndroidのAPIキーのIP制限が設定されている
Androidの証明書が無効化されている
PHPでPush通知を実装する
http://qiita.com/toshiyuki_wada/items/a072ec557a49c6f8c00a
AWS CLIで取得する
http://qiita.com/tcsh/items/e2184f8c7c283e93b167
各メトリクスの説明
Amazon Simple Notification Service のメトリックスおよびディメンション - Amazon CloudWatch
NumberOfMessagesPublished 発行されたメッセージの数。
NumberOfNotificationsDelivered 正常に配信されたメッセージの数。
NumberOfNotificationsFailed Amazon SNS が配信に失敗したメッセージの数。
このメトリクスは、Amazon SNS が Amazon SQS、電子メール、SMS、またはモバイルプッシュのエンドポイントへのメッセージ配信の試行を停止した後に適用されます。
HTTPまたはHTTPSエンドポイントに対して配信が試行されるたびに、メトリクスが1つ追加されます。
他のすべてのエンドポイントの場合、メッセージが配信されないとカウントが1増加します (試行回数に関係なく)。
HTTP エンドポイントの再試行の数は制御できます。詳細については、「HTTP/HTTPS エンドポイントに対する Amazon SNS 配信再試行ポリシーの設定」を参照してください。
AWS CLI でトピックを作成する
aws sns create-topic --name test_20150715 --region ap-northeast-1
出力例:
arn:aws:sns:ap-northeast-1:123456789012:test_20150715