私はWebアプリに取り組んでいます。新しいコンテンツがある場合、iOSユーザーにプッシュ通知を送信するにはどうすればよいですか?
具体的には、WebアプリケーションがiPhoneなどのモバイルデバイスにプッシュ通知を送信するには、モバイルデバイスが特定のアプリケーションのプッシュ通知を受信するように登録されている必要があります。プッシュ通知の登録は、ネイティブアプリを介して行われ、ネイティブアプリを介してのみ実行できます。ネイティブアプリがプッシュ通知用に登録されると、ネイティブクライアントのプロビジョニングに使用される証明書と一緒に使用できる認証トークンをサーバーに送信して、プッシュ通知をモバイルデバイスに送信できます。
別の回答で指定されているように、1つのオプションは、Webアプリケーションをネイティブアプリケーションに「ラップ」することです。つまり、Webアプリケーションを表示しているユーザーに基本的にUIWebView(iPhone開発用)を表示するネイティブアプリケーションを作成するということです。これはネイティブブラウザとほぼ同じように機能しますが、ネイティブコントロールを使用してプッシュ通知に登録する機能を追加できます。
Appleのプッシュ通知ドキュメントを確認すると、iPhoneでのプッシュメッセージングの機能に関する非常に優れた情報が提供されるため、有益です。
Peter Hoseyが提供するこれらのリンクを参照してください。
いいえ、ネイティブiOSアプリケーションのみがプッシュ通知をサポートしています。
UPDATE:
Mac OS X 10.9およびSafari 7 Webサイトもプッシュ通知を送信できるようになりましたが、これはiOSにはまだ適用されません。 Webサイトの通知プログラミングガイド を読んでください。 WWDC 2013セッション614 もご覧ください。
iOSではまだサポートされていませんが(iOS 10以降)、WebサイトはFirefoxおよびChrome(デスクトップ/ Androidにプッシュ通知を送信できます) Push API を使用します。
Push APIは、メッセージを表示するために、古い Web Notifications と組み合わせて使用されます。利点は、ユーザーがWebサイトを閲覧していないときでもプッシュAPIが通知を配信できることです。これは、サービスワーカー(ブラウザによって登録され、後でもバックグラウンドで実行できるスクリプト)に基づいているためですユーザーがウェブサイトを離れました)。
通知を送信するプロセスには、次のものが含まれます。
Push APIは現在、desktopおよびAndroidでChrome、FirefoxおよびOpera。
APNを使用して、プッシュ通知をApple /Safariデスクトップに送信することもできます。アプローチは似ていますが、多くの複雑な問題があります(Apple開発者証明書、プッシュパッケージ、APNへの低レベルTCP接続)。
自分でプッシュ通知を実装する場合は、次のチュートリアルから始めてください。
あなたがソリューションのドロップを探しているなら、私は提案します Pushpad 、これは私が構築したサービスです。
Update(2017年9月):AppleはWebKitのサービスワーカーの開発を開始しました( status )。サービスワーカーはWeb Pushの基本技術であるため、これは大きな前進です。
Google Chromeは、プッシュ通知用のW3C標準をサポートするようになりました。
実際に..これはまったく新しいことです。OS X(Mavericks)の最新バージョンでは、 CAN Webページからデスクトップにプッシュ通知を送信します。しかし、ドキュメントによると、iPhoneではありません。
Note: This document pertains to OS X only. Notifications for websites do not appear on iOS.
現在、Appleでは、OS X Webサイトのプッシュ通知とローカル通知の2種類のプッシュ通知を許可する計画があります。
ここでの明らかなハードルは、これはPCでは機能しないことであり、Androidプッシュ通知を行うこともできません。
さらに、実際には、Snow Leapordと同じくらい古いバージョンで、Webサイトが開いていてアクティブである限り、Webサイトからプッシュ通知を送信できます。新しいMavericks OSでは、サイトが開かれていない場合でも、プッシュ通知を送信するためのサイトへのアクセス許可が既に与えられている場合、プッシュ通知が許可されます。
アップルの口から:
OS X v10.9以降では、Appleプッシュ通知サービス(APN)を使用して、OS X Webサイトプッシュ通知をWebサーバーからOS Xユーザーに直接ディスパッチできます。ローカル通知と混同しないように、プッシュ通知は、WebサイトまたはWebブラウザーが開いているかどうかに関係なくユーザーに到達できます…
プッシュ通知をWebサイトに統合するには、まず、ユーザーが通知の受信を選択できるようにするインターフェイスを提示します。ユーザーが同意すると、SafariはWebサイトにアクセスし、プッシュパッケージと呼ばれるファイルの形式で資格情報を要求します。 Pushパッケージには、OS X全体で使用される通知アセットと、設定するWebサービスとの通信に使用されるデータも含まれます。プッシュパッケージが有効な場合、デバイストークンと呼ばれるデバイス上のユーザーの一意の識別子を受け取ります。このデバイストークンとメッセージまたはペイロードの組み合わせをAPNに送信すると、ユーザーは通知を受け取ります。
通知を受け取ったユーザーは、その通知をクリックして、ユーザーのデフォルトブラウザーで選択したWebページを開くことができます。
注:APNの復習が必要な場合は、ローカルおよびプッシュ通知プログラミングガイドの「Appleプッシュ通知サービス」の章をお読みください。このドキュメントはiOSおよびOS Xプッシュ通知に固有のものですが、プッシュ通知サービスのパラダイムは引き続き適用されます。
独自のネイティブアプリを作成したくない場合は、プッシュオーバーを使用できます。 https://pushover.net/
いいえ、Webアプリがプッシュ通知を受信する方法はありません。できることは、Webアプリをプッシュ通知を持つネイティブアプリにラップすることです。
W3Cは2010年に通知を実装するためのワーキンググループを開始しました。
http://www.w3.org/2010/web-notifications/
このワーキンググループは、これらのメカニズムをWebアプリケーションに公開するAPIを開発します。たとえば、Webベースの電子メールクライアントやインスタントメッセージングクライアントを作成するWeb開発者は、Webアプリケーションの動作をオペレーティングシステムの通知機能とより密接に統合できますエンドユーザーの。
最後に、特定のWebサイトが開いている場合にのみ機能するため、結果は悪い冗談のようになります。 http://alxgbsn.co.uk/notify.js/
私は彼らがプッシュURLを追加する可能性を実装するのを逃したので、ブラウザがバックグラウンドで実行中に通知を要求できるようになったと思います。
HTML5 Websocketを使用して、独自のプッシュメッセージを導入できます。から ウィキペディア :
「クライアント側では、WebSocketはFirefox 4、Google Chrome 4、Opera 11、Safari 5、およびiOS 4.2のモバイルバージョンのSafariに実装されました。また、OS7のBlackBerry BrowserはWebSocketをサポートしています。」
これを行うには、クライアントにメッセージをプッシュする独自のプロバイダーサーバーが必要です。
APN(Apple Push Notification)またはC2DM(Cloud to Device Message)を使用する場合は、オンラインストアからダウンロードする必要があるネイティブアプリケーションが必要です。
Pushbullet はこれに代わる優れた選択肢です。
ただし、ユーザーは、Pushbulletアカウントとアプリ(iOS、Android)またはプラグイン(Chrome、Opera、Firefox、Windows)をインストールする必要があります。
Pushbulletアプリを作成して API を使用し、oAuth2を使用してアプリケーションのユーザーをPushbulletユーザーに接続できます。
ライブラリを使用すると、PHPの方がはるかに簡単になります ivkos/Pushbullet-for-PHP をお勧めします。
Xtify Web Push通知をご覧ください。 http://getreactor.xtify.com/ このツールを使用すると、コンテンツをWebページにプッシュし、訪問者をターゲットにし、ブラウザのDOMイベントに基づいてメッセージをトリガーできます。特にモバイルを念頭に置いて設計されています。