Best Practices für pubnub auf Android

8

Ich verwende pubnub als einen Publish / Subscribe-Kanal zwischen einer Android-App und einem Server. Derzeit denke ich darüber nach, wie ich das umsetzen werde.

Ich benutze die mitgelieferte Bibliothek für Android ( Ссылка ), aber ich denke, das wird es tun einige Probleme mit dem Anwendungslebenszyklus, wenn ich es wie es jetzt ist verwenden. (Korrigiere mich, wenn ich falsch liege)

Ich habe darüber nachgedacht, es als Service zu implementieren

Was ich will

  • Der Dienst muss bis zu einer Stunde (verhandelbar) nach der letzten App-Nutzung weiterlaufen. Das liegt daran, dass wir Benachrichtigungen erhalten möchten, wenn eine Nachricht eingeht, aber die App nicht die aktuell verwendete App ist.

  • Wie kann ich den Dienst nach einer Stunde Nichtaktivität der App stoppen? Wahrscheinlich wird Android es töten, aber ich will etwas Kontrolle.

  • Der Dienst muss in der Lage sein, die App zu veranlassen, ihre Schnittstelle zu ändern, wenn bestimmte Nachrichten eingehen (ich dachte daran, Absichten vom Dienst zu senden, wenn wir eine pubnub-Nachricht erhalten). pubnub sendet Daten an den Dienst , also brauche ich eine Möglichkeit, diese Daten an die Anwendung zu übergeben (wahrscheinlich in einem Bündel in der Absicht zu speichern?)

  • Ich muss mehrere pubnub-Kanäle (max. 2 gleichzeitig) hören. Ich denke, dass ich dies in mehreren Instanzen dieses Dienstes tun muss.

Ich denke, ich werde es so machen:

  • Erstellen Sie einen Dienst, der beim Start der App gestartet wird

  • Lassen Sie den Dienst einen pubnub-Kanal hören

  • Wenn eine Nachricht eingeht, senden Sie eine Absicht und verwenden Sie die Intent-Filter

  • implementieren Broadcasthandler, um diese internen Absichten zu hören

Ist das der richtige Weg? irgendwelche Hinweise?

    
Quentin 07.03.2012, 19:57
quelle

1 Antwort

10

Sie haben eine ausgezeichnete Reihe von Fragen und detaillierte Punkte, über die ich in dieser Antwort sprechen werde. Sie verwenden Android und Sie interessieren sich für die Konventionen und Best Practices für PubNub Publish / Subscribe-Szenarien.

Ihr Anwendungsfall ist sehr häufig und die besten Methoden zum Erstellen von Apps variieren je nach den Anforderungen der Anwendung. Aber Sie haben definitiv die richtige Idee und haben alle richtigen Fragen gestellt. Sie benötigten lediglich einen Beispielcode und eine Anleitung, um mit der Implementierung der spezifischen Anforderungen Ihrer Anwendung zu beginnen. Um Ihre Bedürfnisse in einer Liste zu definieren:

  • Fähigkeit verbinden / trennen.
  • Always-on Hintergrunddienst, senden kann / Empfang von Daten und anderen Anwendungen über Android Intents informieren.
  • Gleichzeitiges Verbinden mit mehreren PubNub Channels.

Um zu beginnen, werde ich Ihnen direkte Links zu einigen Beispielen und Methoden geben:

  • Erstellen Sie einen Service, der gestartet wird, wenn bei Android Boots: Ссылка
  • UnSubscribe / Disconnect Beispiel-Code, wenn Sie auf einem PubNub Kanal stoppen hören wollen: Ссылка -., um mehrere Kanäle zu hören ist einfach durch die Blockierung pubnub.Subscribe () -Methode in einem Thema platzieren

In Bezug auf Ihre Gedanken - Das IS der richtige Weg, es zu tun:

  • Erstellen Sie einen Dienst, der beim Start der App gestartet wird
  • Lassen Sie den Dienst einen PubNub Channel hören.
  • Wenn eine Nachricht eingeht, senden Sie eine Absicht und verwenden Sie die Intent-Filter.
  • Implementieren Sie BroadcastHandlers, um diese internen Absichten anzuhören.
Stephen Blum 07.03.2012, 20:59
quelle