私は、ユーザーがデスクトップ/モバイル Web サイトを介して対話できるシンプルな Web アプリを使用するクライアント企業を持っています。最近、通知機能の実装を依頼されました。ユーザーは、必要に応じて、Web アプリからリアルタイム通知にサインアップできます。
ただし、非常に興味深い要件は、通知が次のことを行う必要があることです。
- リアルタイムで配信されます (60 秒以上の遅延は失敗です)。
- 配信を保証します。つまり、クライアントは、各ユーザーがすべての通知を確実に受け取ることを望んでいます。
- バックグラウンドから何らかの方法でユーザーに通知できるようにします。たとえば、一般的なユーザーは、Android でブラウザー ウィンドウを開いて通知を待つことはありません。推奨される方法は、電話を鳴らしたり、振動させたり、いくつかのメッセージを通知領域に入れたりして、電話がポケットやバッグの中にある場合でもユーザーが通知に気付くことができるようにすることです。
ノート:
- 典型的な通知メッセージはかなり短いです。例を次に示し
$John
ます$5pm
。 - すべてのユーザーは、3G 接続が有効になっているスマートフォン (iPhone/Android) を持っています。
要件 3は最新のモバイル ブラウザーの現状では満たすことができないため、仕様を完全に達成するための唯一の 2 つの方法は次のとおりです。
- A. iOS/Android 用のアプリを作成し、ネイティブ API を使用して、通知の受信時に電話を鳴らし、振動させます。
- B. アスタリスクなどの IVR を使用して SIP 経由でユーザーに電話をかけ、通知音を鳴らし、通知の受信を確認するために 1 を押すように依頼します (音は、「今日、ジョンと会議があります。午後 5 時。確認するには 1 を押してください」)。
しかし、これらの A と B のオプションをテストし始めたとき、(1) と (2) は通常の 3G 接続では満足できないことがわかりました (会社はヨーロッパにあり、接続はまったく問題ありません)。たとえば、Android デバイスの Jabber クライアントは、長い遅延 (数分) を伴うメッセージを取得したり、一部のメッセージを失うことさえあります。
したがって、要件 1、2、および 3 を満たすために残された唯一のオプションは、B (自動 IVR - アスタリスク) を使用することです。
私の推論は正しいですか?スマートフォン対応ユーザーに短い通知をリアルタイムで 100% 保証して配信し、通知時にスマートフォンを鳴らしたり振動させたりする他のメカニズムはありますか? 自動化された IVR 通話の代わりに何か他のものを使用する必要がありますか?
PS 私の知る限り、メッセージの配信が保証されていないため、私の研究では SMS テクノロジを考慮していません。