3

Googleサーバーを使用せずにAndroidアプリケーションにプッシュ通知を送信することは可能ですか: C2DM ?

そのため、アプリに直接通知を送信する独自​​のサーバーが必要ですが、アプリが実行されていなくても通知を受信する必要があるため、デバイスが通知をどのように認識するかわかりません。通知センターに表示されるはずです。

www.airpush.comの人たちはこれに成功したと思いますが、その方法はわかりません。

誰でもこれで私を助けてくれますか?

アップデート:

また、C2DM を使用していない場合に、通知センターに通知を表示する方法を知りたいですか? また、ユーザーが当社が開発したアプリケーションを削除した場合でも、通知センターが私のサーバーから通知を受信するように構成できる場合、そのデバイスを登録したアプリケーションは通知を受信します。

1 日に 3 ~ 4 件の通知を送信したいのですが、これらの通知は通知センターに表示される必要があり、サーバーのみを経由する必要があります。アプリ内の通知センターを構成して、サーバーでプッシュ通知を要求するにはどうすればよいですか?

ありがとう!

4

6 に答える 6

3

MQTTを見てください:

MQTT は MQ Telemetry Transport の略です。これはパブリッシュ/サブスクライブの非常にシンプルで軽量なメッセージング プロトコルであり、制約のあるデバイスや、帯域幅が狭く、待ち時間が長く、信頼性の低いネットワーク向けに設計されています。

カスタム サーバー プッシュ ソリューションを実装するために使用できます (一部のアプリケーションで使用されていました)。MQTT を使用する最もよく知られているアプリケーションの 1 つはFacebook Messangerです。

インターネットで MQTT に関する詳細情報を簡単に見つけることができます (例:この SO の質問このブログ投稿 )

于 2012-05-04T22:42:39.647 に答える
3

Helium pushと呼ばれる UrbanAirship のソリューションがあります。ドキュメントによると ヘリウム:

Android 1.6 以降で動作
Google アカウントは不要1 日あたりのデフォルトのプッシュ
制限
なし 1 分あたりのデフォルトのプッシュ制限なし
Amazon デバイス (Kindle Fire など) で動作
エンド ツー エンドのアーバン エアシップ サポート (つまり、API からデバイスへ)
最高のスループット

問題は、これを使用するには開発アプリ キーが必要なことです。

于 2012-05-04T13:48:50.860 に答える
2

airpush.com の FAQ によると、彼らは実際のプッシュ通知を使用しておらず、1 日に数回サーバーをポーリングしています。これが実行可能なソリューションであると私が考える理由の 1 つは、Android の C2DM が明らかに Google Play ストアを利用しているため、Google エコシステムの外部に配布されているデバイスでは動作しないことです。すでに 500 万台以上の Kindle Fire が販売されていることを考えると、これは検討する価値があります。

Airpush FAQ から:

Android™ アプリケーションのメイン アクティビティから 1 回実行されると、Airpush クライアントは Android™ OS の AlarmManager フレームワークを利用して、進行中のサーバー ポーリング イベントを 1 日に数回スケジュールします。広告がサーバーからポーリングされると、最適な表示時間 (サーバーによってアルゴリズムで決定される) までキャッシュされます。

于 2012-05-04T13:42:46.207 に答える
0

Parseには、Android向けの優れたプッシュ通知サービスがあり、セットアップが非常に簡単です。詳細はこちら:Android通知ドキュメントの解析

于 2012-08-11T22:28:57.010 に答える
0

ユーザーが 1 日に 3 ~ 4 件のメッセージのみを受信するようにし、メッセージが特定の到着時間にバインドされていない場合は、プッシュ メカニズムは必要ありません。アプリで、独自の Web サービスを 1 日に 5 ~ 10 回チェックするサービスを作成するだけです。新しいデータがある場合は、アプリの通知センターに表示するようにします。サービスを常に実行したくない場合 (多くのメッセージング アプリのように)、アプリを定期的に起動して表示する新しいメッセージをチェックするアラームを (Android AlarmManager フレームワークを使用して) 設定できます。

また、ユーザーが当社が開発したアプリケーションを削除した場合でも、通知センターが私のサーバーから通知を受信するように構成できる場合、そのデバイスを登録したアプリケーションは通知を受信します。

ウイルスやルート キットを作成したいようですね ;-) 代わりに電子メールをメッセージに使用することもできます。

UPDATE 2013-12-30: 私のコメントで述べたように、GCM の機能を再構築するのは良い方法ではありません。Google サービスがすでにこの機能をデバイスにロードしている場合は、これで十分です。ユーザーに送信するメッセージを Google が認識しないようにすることが目的の場合は、メッセージを暗号化することもできます。Google が実際にメッセージを読み取ることができない場合、クライアント アプリはキーを生成してサーバーに送信する必要があります。GCM 経由で送信するすべてのメッセージは、そのキーを使用して暗号化できます。

ユーザーに送信されるメッセージの量に対する Google の制限を回避したいだけの場合は、複数のメッセージを 1 つの GCM 通知にまとめて、次々に表示することができます。ただし、デバイスにキャッシュされているメッセージを表示するときに、ユーザーがインターネットにアクセスする必要がないことを除いて、前述のようなポーリング ソリューションに戻ります。

于 2012-07-06T13:47:07.123 に答える
0

C2DM を使用しないと、「実際のプッシュ通知」のオプションはありません。AndroidデバイスはGoogleに登録されているため(リモート経由で携帯電話からマルウェアを削除できます)、このIPを使用してプッシュ通知を実行できます。他のすべてのソリューションは、「サーバーに登録し、接続を維持してリクエストを待機する」などの傾向があり、バッテリーの効率が悪い傾向があります。

于 2012-05-04T13:47:12.260 に答える