「.NET 開発基盤部会 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次 †
概要 †
SaaS開発で調べたプッシュ通知についてのメモ。
仕組み †
- AndroidとiOSでは、プッシュ通知に異なる仕組みが採用されている。
Android(GCM) †
iOS(APNs) †
iOS Developer Programの登録が必要
Push通知ができるプロビジョニングプロファイルを用意 †
開発者は、OS Developer Centerで以下の設定を行う。
- AppIDを作成する。
- Push Notificationsを選択状態にする。
- Apple Push Notification service SSL (Sandbox)で証明書(Certificate)を作成。
- Provisioning Profiles > Development > iOS App Development
- AppIDを選択
- Certificateを選択
- Deviceを選択
- Generateボタンを押下
- Provisioning Profileをダウンロードし、Macのキーチェーンに登録
Push実行時に必要となる証明書ファイル(PEM形式)を2つ用意 †
- Macのキーチェーンアクセスを起動して、ダウンロードした証明書をダブルクリック
- 左上の「キーチェーン」は「システムルート」を選択
- 左下の「分類」は「証明書」を選択
- Entrust Root Certification Authorityを選んで書きだす。.pemで保存
- 証明書
- push_development.pem
- entrust_root_certification_authority.pem
アプリケーションからプッシュ通知を受信 †
プッシュ通知を受信する処理を実行
- RemoteNotification?を設定
- DeviceToken?を受信(サーバーに保存)
- プッシュ通知を受信
アプリケーションからプッシュ通知を送信 †
DeviceToken?、2つの証明書を使用して、プッシュ通知を送信
差異 †
プロトコル †
Android †
AndroidのGCMではHTTP
iOS †
独自のプロトコル
バッジ †
アイコンの上に出る数字。
Android †
- 使用不可
- 通知センターの重要度が高い(コチラのほうが、通知の開封率が高い)
iOS †
許諾(オプトイン) †
Android †
- 不要
- アプリのダウンロードをする際に自動的にオプトインする
iOS †
- 必要
- オプトイン方式で、ユーザに許諾されなければ通知を送信できない。
- 多くのアプリでは初回起動時にオンボーディングの一環として許諾メッセージを表示
通知内容 †
# | | iOS9以前 | Android |
1 | 送信内容 | 文字、ディープリンク | 文字、ディープリンク、画像、動画 |
2 | サムネイル | 中心部トリミング | 元の縦横比で伸縮 |
3 | ペイロード | 2KB | 4KB |
4 | レイアウト | OS標準のレイアウト | ボタン数や配置を変更可 |
参考 †
Android †
androidでプッシュ通知を実装する | TECH Projin †
iOS †