「.NET 開発基盤部会 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次 †
概要 †
SaaS開発で調べたプッシュ通知についてのメモ。
- プッシュは、特定のアカウントに対して行われるが、
インフラストラクチャとしては、Apple(or Google)の
通知用サーバに、スマホネイティブ・アプリケーションを登録する形になる。
- APNs
Appleの通知用サーバ(iOSに通知を行う)
- FCM
Googleの通知用サーバ(Androidに通知を行う)
- 登録後に、アプリケーションをインストールすると、
Device Tokenや Registration Token等と言った端末+アプリを識別する
トークンが発行されるのでそれを使用してサーバ(Resource Server)から通知を行う。
もできる。
仕組み †
- AndroidとiOSでは、プッシュ通知に、以下の異なる仕組みが採用されている。
- プッシュ通知の動作確認をする為にエミュレータは使用できない。
個人に送信 †
初期化 †
- バックエンドサーバにFCM/APNs/JPushが発行した
サービスアカウント情報(JSONファイル)を配置する。
- デバイスにアプリケーションをインストールする際、
FCM/APNs/JPushサーバにデバイス登録を行う。
- 登録結果としてデバイストークンを受け取る。
- デバイストークンをバックエンドサーバに送って保存する。
(この際、ユーザIDと紐付けて保存するため認証が必要)
通知の送信 †
- 任意の箇所でアプリケーションのイベントを検出する。
- バックエンドサーバは、ユーザIDに対応するデバイストークンを使用して、
FCM/APNs/JPushサーバにプッシュ要求を送信する。
- FCM/APNs/JPushサーバは、デバイスにプッシュ通知を送信する。
全体に送信 †
初期化 †
通知の送信 †
特定グループに送信 †
初期化 †
通知の送信 †
トピック購読者に送信 †
初期化 †
- 個人に送信と異なり、デバイストークンは不要?
- インストール時に自端末のトピック登録を依頼する。
通知の送信 †
参考 †
iOS †
Android †
- androidでプッシュ通知を実装する | TECH Projin
iOS †
Android †