1

私は現在、Java/Android プログラミングを学ぶために使用している小さなアプリケーションを持っています。現在、ある電話のアプリが同じアプリを実行している別の電話に(SMS経由で)リクエストを送信するように設定しています。リモート電話はリクエストを受け取り、いくつかの情報を送り返します。次はWebからやってみたいと思います。これに対する確立された「最善の」方法はありますか?

私は、Web サーバーが Google クラウド メッセージングを介してデバイスにリクエストを送信し、デバイスがデータを直接 Web サーバーに返すようにすることを考えていました。(まだその方法を本当に知っているわけではありません)。

Googleクラウドメッセージングリターンパスがあることがわかりました(デバイスからGoogleクラウドサーバーにメッセージを送信しますが、それは非常に新しいようです。そのようなものが必要ですか?私が望む主なことは、電話にリクエストがあるかどうかをポーリングしたり、定期的にステータスを更新したりするのではなく、必要なときに何かを行います。

アップデート:

私が正しい軌道に乗っていることを確認してくれた以下の回答に感謝します。これで、いくつかの基本的な機能が得られました。

私はこのgcm androidデモコードを使い始めました https://code.google.com/p/gcm/source/browse/#git%2Fgcm-client%2Fsrc%2Fcom%2Fgoogle%2Fandroid%2Fgcm%2Fdemo%2Fapp%253Fstate% 253Dclosed とこの ruby​​ gem https://github.com/spacialdb/gcm/blob/master/README.md

上記の 2 つの間で、かなり簡単に携帯電話にメッセージを送信できました。

往復を機能させるために、heroku で非常にシンプルな Rails アプリをセットアップしました。サンプル コードの修正版をコントローラーの gcm gem に含め、HttpPatch (Rails 4 に必要) を使用して、携帯電話から Web アプリにポスト/パッチを送信すると、コントローラーはメッセージを携帯電話にエコー バックします。 .

双方向の gcm を機能させるのはいいことだと思いますが、それを処理する宝石があるかどうかはわかりませんし、そのようなタスクを処理する資格もありません :)

4

2 に答える 2

3

私はそれが正しい呼び出しだと思います: Google Cloud Messaging for Android

サイト Android Developer から:

これは、サーバーから取得する新しいデータがあることをアプリに通知する軽量のメッセージ (たとえば、友人がアップロードした映画) である場合もあれば、最大 4kb のペイロード データを含むメッセージである場合もあります (アプリはインスタント メッセージングを好みます)。メッセージを直接消費できます)。

この場合、サーバーからデータをフェッチするのではなく、データを送信する必要があります。

さまざまな方法で送信できます。学んでいるので、JAX-RSの実装の 1 つを使用してRESTfulソリューションを試すことをお勧めします。

于 2013-08-27T19:28:53.323 に答える
1

初心者向けの簡潔で直接的な回答として: GCM (Google Cloud Messaging) が問題を解決します。ただし、アプリがより大きなものであることが判明した場合は、他のより技術的で複雑なソリューションも存在します.

このリンクを参照してください。

于 2013-08-27T19:40:25.010 に答える