私はウェブアプリに取り組んでいます。新しいコンテンツがあるときにiOSユーザーにプッシュ通知を送信するにはどうすればよいですか?
私はウェブアプリに取り組んでいます。新しいコンテンツがあるときにiOSユーザーにプッシュ通知を送信するにはどうすればよいですか?
回答:
具体的には、WebアプリケーションがiPhoneなどのモバイルデバイスにプッシュ通知を送信するためには、モバイルデバイスが特定のアプリケーションのプッシュ通知を受信するように登録されている必要があります。プッシュ通知の登録は、ネイティブアプリを通じて行われ、ネイティブアプリを通じてのみ実行できます。ネイティブアプリがプッシュ通知に登録されると、承認トークンをサーバーに送信できます。これをネイティブクライアントのプロビジョニングに使用される証明書と組み合わせて使用し、モバイルデバイスにプッシュ通知を送信できます。
別の回答で指定されているように、1つのオプションは、Webアプリケーションをネイティブアプリケーションに「ラップ」することです。つまり、Webアプリケーションを表示しているユーザーに基本的にUIWebView(iPhone開発用)を表示するネイティブアプリケーションを作成するということです。これはネイティブブラウザーと同じように機能しますが、ネイティブコントロールを使用してプッシュ通知を登録する機能を追加できます。
iPhoneでプッシュメッセージングがどのように機能するかについてかなり良い情報を提供しているので、Appleのプッシュ通知ドキュメントを確認することは有益です。
Peter Hoseyが提供する以下のリンクを参照してください。
いいえ、ネイティブiOSアプリケーションのみがプッシュ通知をサポートしています。
更新:
Mac OS X 10.9およびSafari 7のWebサイトでもプッシュ通知を送信できるようになりましたが、これはiOSにはまだ当てはまりません。Webサイトの通知プログラミングガイドを読みます。WWDC 2013セッション614もご覧ください。
iOS(iOS 10以降)ではまだサポートされていませんが、WebサイトはPush APIを使用してFirefoxおよびChrome(デスクトップ/ Android)にプッシュ通知を送信できます。
プッシュAPIは、メッセージを表示するために古いWeb通知と組み合わせて使用されます。利点は、プッシュAPIはService Worker(ブラウザーによって登録され、後でバックグラウンドで実行できるスクリプト)に基づいて構築されているため、ユーザーがWebサイトを閲覧していないときでも通知を配信できることです。ユーザーがウェブサイトを離れた場合)。
通知を送信するプロセスには、次のものが含まれます。
プッシュAPIは現在、デスクトップ、Android、Chrome、Firefox、Operaでサポートされています。
APNを使用してApple / Safariデスクトップにプッシュ通知を送信することもできます。アプローチは似ていますが、多くの複雑さ(アップル開発者証明書、プッシュパッケージ、APNへの低レベルTCP接続)があります。
自分でプッシュ通知を実装する場合は、これらのチュートリアルから始めます。
ソリューションのドロップを探しているなら、私が作成したサービスであるPushpadをお勧めします。
アップデート(2017年9月):AppleはWebKit(status)のService Workerの開発を開始しました。Service WorkerはWebプッシュの基本テクノロジーであるため、これは大きな前進です。
Google Chromeは、プッシュ通知のW3C標準をサポートするようになりました。
実際に。これは、あなたが... OS X(マーベリックス)の最新バージョンでは、あなたのブランドの新しい心であるCANデスクトップにWebページからプッシュ通知を送信します。ただし、ドキュメントによれば、iPhoneではありません。
Note: This document pertains to OS X only. Notifications for websites do not appear on iOS.
現在、Appleは2種類のプッシュ通知を許可する予定です。OSXウェブサイトのプッシュ通知とローカル通知です。
ここで明らかなハードルは、これが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サイトにアクセスして、プッシュパッケージと呼ばれるファイルの形式で資格情報を要求します。プッシュパッケージには、OS X全体で使用される通知アセットと、設定したWebサービスとの通信に使用されるデータも含まれています。プッシュパッケージが有効な場合、デバイストークンと呼ばれる、デバイス上のユーザーの一意の識別子を受け取ります。このデバイストークンとメッセージまたはペイロードの組み合わせをAPNに送信すると、ユーザーは通知を受け取ります。
通知を受け取ると、ユーザーはそれをクリックして、ユーザーのデフォルトのブラウザーで選択したWebページを開くことができます。
注:APNで復習が必要な場合は、ローカルおよびプッシュ通知プログラミングガイドの「Appleプッシュ通知サービス」の章をお読みください。このドキュメントはiOSおよびOS Xのプッシュ通知に固有のものですが、プッシュ通知サービスのパラダイムは引き続き適用されます。
いいえ、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プッシュ通知を確認してください。http://getreactor.xtify.com/このツールを使用すると、コンテンツをWebページにプッシュし、訪問者をターゲットにするだけでなく、ブラウザのDOMイベントに基づいてメッセージをトリガーできます。特にモバイルを念頭に置いて設計されています。