0

1 人のユーザーが Web サイト インターフェイスを介してモバイル ユーザーを管理します。その Web サイトのボタンをクリックして、選択したモバイル ユーザーの現在の位置を表示する必要があります。そのため、モバイル アプリに何かを送信して、サーバーへの GPS 位置の送信をトリガーする必要があります。私のウェブサイトはデータベースのポーリングを開始し、GPS 座標が到着したかどうかを 10 秒ごとに確認します。

質問:

  1. この目的でプッシュ通知を使用することは可能ですか? 私はすでにそれを実装しているので、すべてがそこにあります。
  2. モバイル ユーザーに通知されないように、サイレント モードで行うことはできますか? Silent Push Notifications と呼ばれるものを見つけました - それは私が探しているものですか?

私はAndroidとiOSでそれをしなければなりません。

4

2 に答える 2

2

Androidでは間違いなく可能です。通知を受け取ったことをアプリのユーザーに通知するデフォルトの動作 (アラート/バッジ/サウンドなど) はありません。アプリがプッシュ通知を受け取ると、ブロードキャスト レシーバーが作成され、そのonReceiveメソッドが実行されます。そのメソッドには必要なロジックを含めることができますが、実行に時間がかかるロジック (サーバー呼び出しなど) が必要な場合は、レシーバーからインテント サービスを開始し、サービスでロジックを実行する必要があります (デバイスの場所をサーバーに送信します)。

iOSでは、iOS7以降可能だと思います。iOS7 までは、プッシュ通知を処理するためのアプリケーション ロジックは、ユーザーが通知/アラートをクリックしてアプリを開いた後にのみトリガーされていました。iOS7 では、プッシュ通知の到着の結果として、アプリがバックグラウンド処理を行うことができます。{"aps":{"content-available"=1}}ユーザーに表示されるペイロードが必要ないため、この場合はペイロードを使用する必要があると思います(これは に使用されbackground content downloadsます)。

于 2013-09-29T18:31:26.557 に答える
1

Android の場合、プッシュ サービスを実装する方法がいくつかあります。

  1. GCM - http://developer.android.com/google/gcm/index.html :
  2. MQTT - http://mqtt.org/
  3. 独自の永続的な接続を実装します。

それらのすべてに利点があります。モバイル クライアントがメッセージを受信したことを確認する必要がある場合は、MQTT を使用する必要があります。また、オーバーヘッドが少なく、間に GCM サーバーがないため、GCM よりも高速です。一方、GCM は実装が簡単で、サーバーからの永続的な TCP 接続について心配する必要はありません。

また、毎回サービスをトリガーするだけなので、サイレントな方法も可能です。したがって、通知が必要ない場合、ユーザーは通知を受け取りません。

iOSについてはわかりません。iOS6 では、アプリを「起動」するために必要な独自のサービスを実装することができませんでした。iOS7についてはわかりません。したがって、iOS6 の場合は、必ず Apple のプッシュ サーバーを使用する必要があります。

于 2013-09-29T18:45:41.617 に答える