HTML5 basierte App mit Websocket im Hintergrund

  • Antworten:1
Christian Pauly
  • Forum-Beiträge: 1

02.10.2017, 15:04:19 via Website

Hallo, ich hoffe hier kann mir vielleicht jemand bei einem Problem helfen. Ich komme aus dem Webentwicklerbereich und bin gerade dabei eine erste eigene App zu entwickeln, indem ich eigentlich nur mit einem Template eine HTML5 basierte Anwendung eingebunden habe. Dabei handelt es sich um einen XMPP Messenger, der per Javascript und Websocket mit einem Server kommuniziert. Nun funktionierte das als Android-App auch direkt so wie ich es wollte, nur bricht die Verbindung natürlich ab, sobald man die App schließt. Jetzt überlege ich, wie ich das am besten löse. Könnte man:

  • Die App mit einer Berechtigung dazu zwingen, ständig aktiv zu bleiben?
  • Oder besser einen Hintergrundprozess entwickeln, der nichts macht als selbst sich mit dem XMPP Server zu verbinden und bei Nachrichten eine Notification anzeigt?
  • Oder (wohl der meiste Aufwand) das Websocket-Gedöns aus dem HTML5 entfernen und die Verbindung zum XMPP Server komplett auf nativer Ebene machen?

Die erste Lösung scheint erst einmal den wenigsten Aufwand zu machen aber da habe ich die Befürchtung, dass das viel Ram und Akku verbrauchen könnte. Hat jemand eine Idee? Wie gesagt muss ich mich in alles was mit Android zu tun hat erst einmal einarbeiten. Wäre natürlich cool, wenn das recht simpel zu lösen wäre, solange die Lösung noch zu vertreten ist.

Vielen Dank schon einmal und liebe Grüße

Antworten
swa00
  • Forum-Beiträge: 3.704

02.10.2017, 15:15:52 via Website

Hallo Christian,

willkommen im Forum

Die App mit einer Berechtigung dazu zwingen, ständig aktiv zu bleiben?

Das gibt es nicht.

Oder besser einen Hintergrundprozess entwickeln, der nichts macht als selbst sich mit dem XMPP Server zu verbinden und bei Nachrichten eine Notification anzeigt?

Das musst du in einem Service realisieren, aber auch dieser kann jederzeit vom System beendet werden.
Abhilfe wäre ggf. diesen Service Alarmgetriggert lebend zu halten.
http://www.vogella.com/tutorials/AndroidBackgroundProcessing/article.html

Anm : Deine Notifications solltest Du besser mit FCM umsetzen
https://firebase.google.com/docs/cloud-messaging/

Alles Andere wäre ein üppiges Transfervolumen , welches Dir die Nutzer um die Ohren hauen. (polling)

Oder (wohl der meiste Aufwand) das Websocket-Gedöns aus dem HTML5 entfernen und die Verbindung zum XMPP Server komplett auf nativer Ebene machen?

Immer der beste Weg, dazu sollte man aber fit in der Socket Umsetzung unter Android sein, sowohl fundierte
Thread Kenntnisse besitzen und das "Tötungs-Problem" wie unter b) zusätzlich abfangen.

— geändert am 02.10.2017, 16:34:04

Liebe Grüße - Stefan
[ App - Entwicklung ]

Antworten