2012-03-07 4 views
8

私はアンドロイドアプリとサーバーの間のパブリッシュ/サブスクライブチャネルとしてpubnubを使用しています。 現在、私はこれをどのように実装するか考えています。アンドロイドのpubnubのベストプラクティス

私は提供されているアンドロイドライブラリ(https://github.com/pubnub/pubnub-api/tree/master/android)を使用していますが、今のように使用するとアプリケーションライフサイクルに問題があると思います。 (私が間違っているなら、私を修正してください)

私は

  • サービスが後に(交渉)時間まで走り続けるために持っていたいどのようなサービス

    としてそれを実装することを考えていました。最後のアプリの使用。これは、メッセージが届いたときに通知を受けたいが、アプリが現在使用されているアプリではないためです。

  • アプリの非アクティビティから1時間後にサービスを停止するにはどうすればよいですか?おそらくアンドロイドはそれを殺すだろうが、私はいくつかのコントロールをしたい。

  • 特定のメッセージが入ったときにサービスを起動して(私がpubnubメッセージを受け取ったときにサービスからインテントを送信しようとしていましたか?)、サービスがデータをサービスに送信し、このデータをアプリケーションに渡す方法が必要です(おそらく、バンドルでインテントで保存する必要があります)

  • 私は複数のpubnubチャンネルを同時に聞く必要があります。このサービスの複数のインスタンスでこれを行う必要がありますか?

は、私はこのようにそれを行うだろうと思う:アプリはサービスがpubnubチャンネル

  • に耳を傾けてみましょう

  • を開始したとき

    • が開始のサービスを作成します。メッセージが入力されたら、インテントを送信し、インテントフィルタを使用します。

    • がこの操作を行うための正しい方法ですこれらの内部の意図

    に耳を傾けるbroadcasthandlersを実装しますか?何かヒント?

  • 答えて

    10

    あなたには、この回答でお話したいと思う詳細な点があります。あなたはAndroidを使用しており、PubNub Publish/Subscribeシナリオの規則とベストプラクティスに興味があります。

    あなたのユースケースは非常に一般的であり、アプリケーションを構築する最良の方法は、アプリケーションのニーズに応じて常に異なります。しかし、あなたは間違いなく正しいアイデアを持っており、すべての正しい質問をしました。アプリケーションのニーズを具体的に実装するためのサンプルコードと指示が必要でした。リストのニーズを定義するには:

    - このそれを行うには正しい方法です:

    • アプリは
    • はサービスがPubNubチャンネルに耳を傾けてみましょう開始したときに開始のサービスを作成します。
    • メッセージが到着したら、インテントを送信し、インテントフィルタを使用します。
    • これらの内部インテントをリッスンするBroadcastHandlerを実装します。
    +1

    リンクが壊れています。それらのプロジェクトがまだ利用可能かどうか知っていますか? –

    +1

    私はgithubで見つけました!:https://github.com/pubnub/pubnub-api/tree/0dfd8028b803332f5641adc909b1a26f87bd7ff1/android/PubnubAndroid – Pipeline

    +0

    サービスが生き続けることを確実にするために5分ごとに目を覚ますサービスは、バッテリーを消耗させません?これはwhatsappのような他のチャットアプリでも起こりますか? –

    関連する問題