11

NO GSM/3Gまたは任意の種類のセル受信のある地域/会場で使用できるアプリを作成したいと思います。私たちはまた、インターネットアップリンクのない閉じたWiFiネットワークのみを提供しているので、デバイス(PCとスマートフォン)が外部と通信することができるLANです(理由は問いません)。閉じたWiFi nework(インターネット接続なし)でiOS/Androidにプッシュ通知を送信

彼らが会場に来る前にアプリをダウンロードするよう指示されます。

私のアプリはプッシュ通知を受け取れる必要がありますが、もちろんAppleのAPNSやGoogleクラウドメッセージングサービスには届きません。しかし、このアプリケーションはLAN上の私たちの中央サーバにIPで登録します。 (ユーザーがWiFiネットワークに接続しているときにログインし、登録済みの電話に所属する電話番号を持っている)

私の質問は、イベントが発生したときにプッシュ通知を送信する方法アプリは、アップルやGoogleのオンライン通知サービスを使用したり、接続したりせずに起きる必要がありますか?例えば。サーバーによってトリガーされるイベントに基づいてユーザーの電話機に通知を送信するために使用できるオンプレミスプッシュ通知サービス?
提案がありますか?

アップデート:シンプルなVoiPアプリで、シ​​ップサーバーに接続してお互いに電話をかけて、2つのコールが接続するのはかなりリアルタイムである必要があります。しかし、明らかにあなたはプッシュ通知だけでアプリを目覚めさせることができるので、インターネットが必要です。

答えて

4

など。サーバーによってトリガーされるイベントに基づいてユーザーの電話機に通知を送信するために使用できるオンプレミスプッシュ通知サービス?

Androidに関しては、答えは「本当に」ではありません。あなたのオプションは以下のとおりです。

  • は、デバイスのポーリングがしょっちゅうメッセージを探して、いくつかのメッセージキューの形であなたの「プッシュ」メカニズムを実装する、または

  • 使用WakeLockWifiLock維持しますデバイス(およびWiFi)最初のものは電力消費(例えば、の面でより設定可能ですが、これらのどちらかが、バッテリーに悪いになります常に、その後、

  • プッシュメッセージをMQTTのようなものを使用

電源がオンif 1時間に1回メッセージをチェックするだけで、悪くはありません)。

GCMが電力消費を低く抑えることができるのは、OSとチップセット内のモバイルデータ接続用の特別なフックのためです。プッシュサーバーへのオープンソケット接続を維持したままCPUがパワーダウンできます。そのサーバからデバイスを起動させます。これはWiFiでは利用できません。

+0

WakeLockとWifiLockが必要な理由を教えてください。 – Naxos84

+0

@ Naxos84:デバイスがスリープ状態になるか、WiFi無線がオフになると、MQTTメッセージは配信されません。 – CommonsWare

+0

ありがとうございます。これに関するもう1つの質問。 FacebookはMQTT(GCMなし)を使用していますが、私はWakeLockとWifiLockを使用していないと思います。だから、彼らはそれらの通知をどのように取得する別の方法が必要です... – Naxos84

3

iOSの場合、答えはNOです。 AppleのAPNSサーバーを利用せずにデバイスに通知することはできません。唯一の選択肢は、WiFiを介してデバイス上で他の方法でトリガされたローカル通知ですが、デバイスを起動してVOIPサービスやその他の互換性のあるサービスを追加してバックグラウンド処理を継続できるようにする必要があります。

Local Notifications iOS

+1

アプリはVoiPアプリなので、2つの通話を接続するにはかなりリアルタイムにする必要があります。シンプルなアプリですが、SIPサーバに接続するだけですが、プッシュ通知なしでアプリを起動させることはできません。私もこれを見つけたhttp://stackoverflow.com/questions/4184655/apns-spoof-fake ...どう? – user2542225

0

あなたは、おそらく長い間解決したり、特定の問題をあきらめました。しかし、参考までにiOSは何年にもわたって進化しており、あなたが描いているVOIP機能の正確なタイプはnow supportsです。・オーバー・インターネット・プロトコル

Aの音声(VoIP)のアプリ利用者ではなく、デバイスの 携帯電話サービスのインターネット接続を使用して 電話をかけることができます。そのようなアプリは、着信した コールやその他の関連データを受信できるように、関連するサービスへの永続的なネットワーク接続を維持する必要があります。 VoIPアプリケーションを起床させるのではなく、システムがシステムをサスペンドできるようにし、ソケットを監視するための機能を提供します( )。 トラフィックが検出されると、システムはVoIPアプリケーションを起動し、ソケットの制御を に返します。

関連する問題