これは実験段階の機能です。
この機能は複数のブラウザで開発中の状態にあります。各ブラウザで用いるために、適切なベンダー接頭辞が必要な場合があります。互換性テーブルをチェックしてください。また、実験段階の機能の構文と挙動は、仕様変更に伴い各ブラウザの将来のバージョンで変更になる可能性があることに注意してください。
PushSubscription
インターフェースの getKey()
メソッドは、サーバに送信されてプッシュメッセージデータを暗号化するために使用される、クライアントパブリックキーを表す ArrayBuffer
を返します。
ノート: 現在、Firefox のみの実装であり、まだ Push API 仕様には含まれていません。
構文
var key = subscription.getKey(method);
パラメーター
- method
- クライアントパブリックキーの生成に使用される暗号化メソッドです。現在、
p256dh
のみがオプションです。メソッドには次の値がが選べます:p256dh
: P-256 曲線の 楕円曲線ディフィー・ヘルマン鍵共有(つまり、NIST secp256r1 楕円曲線)。結果としてられるキーは、ANSI X9.62 フォーマットで非圧縮ポイントとなります。
戻り値
例
Push API デモでは、プッシュメッセージデータの暗号化とサーバから特定のサブスクライバにプッシュメッセージを送信するために必要な認証を得るために、getKey('p256dh') と PushSubscription.endpoint
を呼び出しています。
reg.pushManager.getSubscription() .then(function(subscription) { // プッシュメッセージからサブスクライブ / アンサブスクライブ // する任意の UI を有効にする subBtn.disabled = false; if (!subscription) { console.log('Not yet subscribed to Push') // プッシュを購読していない場合、ユーザーがプッシュできるように // UI を設定する。 return; } // プッシュメッセージを購読していることを表示するように // UI を設定する。 subBtn.textContent = 'Unsubscribe from Push Messaging'; isPushEnabled = true; // 購読ステータスのための UI 要素の設定を含んで状態を初期化し、 // プッシュ経由でサブスクライバーを更新する。 var endpoint = subscription.endpoint; var key = subscription.getKey('p256dh'); ...
仕様
仕様 | 状態 | コメント |
---|---|---|
Push API | 草案 | これは Push API 仕様ですが、getKey() はここに含まれていないことに注意してください。現在は、Firefox だけの実験実装です。 |
ブラウザ実装状況
機能 | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
基本サポート | 未サポート | 44.0 (44.0)[1] | 未サポート | 未サポート | 未サポート |
機能 | Android | Android Webview | Firefox Mobile (Gecko) | Firefox OS | IE Mobile | Opera Mobile | Safari Mobile | Chrome for Android |
---|---|---|---|---|---|---|---|---|
基本サポート | 未サポート | 未サポート | 48.0 (48)[2] | 未サポート | 未サポート | 未サポート | 未サポート | 未サポート |
- [1] Push(と Service Workers) は、Firefox 45 延長サポート版(ESR)では使用できません。
- [2] Firefox for Android 48 から、既定で Push を使用できます。