[offen] Threema - Polling funktioniert nicht

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • [offen] Threema - Polling funktioniert nicht

    Hallo zusammen,

    ich bin neu hier, und möchte mich gleich mit einem Problem melden:

    Ich hab Threema via Amazon App Store installiert (ohne das Google Zeug) und Krieg den automatischen Abruf per Polling nicht zum Laufen.
    Neue Nachrichten bekomme ich nur, wenn ich die App öffne.

    Hat von euch jemand eine Idee?

    Viele Grüße, Chimney

    Diaspora*
  • Mh, ich hätte jetzt entweder eine Einstellung in der APP selbst dafür verantwortlich gemacht oder den Amazon App Store.
    Bei letzterem kann ich dir nicht weiterhelfen. Bei erstem gibt Threema selbst einen Tipp:

    Hier: threema.ch/de/faq/nopush
    Oder hier:

    threema schrieb:

    Threema verwendet Google Cloud Messaging (GCM), um die App über neue Nachrichten im Hintergrund zu benachrichtigen. Wenn die Google Apps nicht installiert sind, werden Sie nicht über neue Nachrichten informiert – ausser Sie aktivieren Polling in der App (das Polling-Intervall ist auf 15 Minuten fixiert und verursacht etwas zusätzlichen Akkuverbrauch und Datenvolumen).
    aus shop.threema.ch/

    lg
  • Hiho,

    hab mal wieder ein paar Minuten Zeit gefunden.

    Gerade habe ich das bei mir auch mal getestet und es scheint tatsächlich nicht zu funktionieren.
    Ich habe die App ja direkt beim Programmierer gekauft.
    Mir war das nie wirklich aufgefallen, da ich eh recht oft unterwegs und nicht erreichbar bin
    und deswegen regelmäßig rein schaue.

    Mein Verdacht ist, dass beim Jolla entweder nicht die richtige Schnittstelle angesprochen
    wird und die App somit nicht pollen kann oder das falsche Werte in der App hinterlegt sind
    (falscher Zielserver oder Zugangsdaten...).

    Gegen Ersteres spricht, dass Threema sonst ja ganz normal funktioniert und eine Internetverbindung hat.

    Wenn ich etwas mehr Zeit hätte würde ich mal versuchen mit Wireshark oder vergleichbarem Tool
    den Netzwerkverkehr des Jolla bei aktivem Threema mitzuschneiden und zu schauen, was alle 15 Minuten passiert.
    Da müssen ja Verbindungsversuche stattfinden und eventuelle Statusmeldungen zurück kommen.

    Eine weitere Anlaufstelle wäre zu schauen, ob im Programmordner ein Logfile liegt oder sich dieses,
    wie unter iOS, aktivieren lässt.

    Kann dem eventuell mal jemand nachgehen?
    Wenn nicht, teste ich das mal. Kann aber etwas dauern.
    IT Security Engineer
    Fachinformatiker / Systemintegrator | GNU / Linux Admin

    Info Bytesund.biz
    Suchst du? Hier findest du!
    Hier deinen Code pasten ...


    Die Sprache der Menschen ist einzigartig aber nicht eindeutig.
    Das Verständnis des Gesagten hängt vom Wohlwollen des Gegenüber ab.
  • Das Problem scheint daran zu liegen, dass Threema nach dem beenden komplett geschlossen wird (es wird kein Hintergrundprozess aufrecht gehalten.

    Ich habe eben mal etwas rumgespielt und einen Lösungsansatz gefunden (leider noch nicht ganz zuverlässig):
    Das Jolla befindet sich sehr viel in einem extremen Energiesparmodus (zumindest meins) und das geht soweit, dass auch der Cron nicht immer ausgeführt wird. - Wenn man das Display einschaltet kommen die Benachrichtigungen aber an.
    Ich bleibe auf der Suche nach einem Event-Auslöser - systemd kann es mit der Version 212(?). - Leider ist im SailfishOS gerade 208 die aktuellste.


    Es handelt sich dabei um einen ersten Versuch, die Notifications zu bekommen. - Ich hatte es bislang nur in einem 15 minütigen Kurztest und kann nicht sagen, wie es sich auf die Telefon- und Akkuleistung auswirkt. - Die Änderungen lassen sich zwar recht einfach wieder rückgängig machen, aber ich bitte darum, zu bedenken, dass es bislang nicht mehr als eine Spielerei ist (für meine Freunde und die, die mich kennen ist das immer eine große Warnung :P ).


    Pakete aus OpenRepos/Warehouse:
    • Android Notification
    • fcron


    fcron installiert sich mit den falschen Rechten und muss angepasst werden
    #devel-su chown crontab:crontab /var/spool/cron/

    #devel-su chmod 06770 /var/spool/cron/

    Nun wird ein Cronjob eingerichtet, der alle x-Minuten (im Beispiel 1) die AndroidApp mit der DummyActivity öffnet (diese gibt keine Bildschirmausgabe und schließt sich gleich wieder, es reicht aber um über neue Nachrichten benachrichtigen zu können.
    #crontab -e*/1 * * * * 'apkd-launcher /data/app/ch.threema.app-2.apk ch.threema.app/ch.threema.app.activities.DummyActivity'
    Nachtrag: Bitte Nachricht 11 beachten.

    Am Schluss wird noch der Service fcron eingeschalten, dass er beim Handy-Boot aktiv ist.
    #devel-su systemctl enable fcron.service

    Nun lässt sich der fcron Service starten oder man rebootet einfach das Telefon.
    // Bodenseepirat
  • Ich bleibe an dem Thema dran und werde weiter berichten.

    Eben ist mir noch eingefallen, dass ich irgendwann vor ein paar Monaten noch etwas am Energie-Management vom Telefon gebastelt habe (ggf. läuft deshalb der Cron nicht zuverlässig, andere Berichte scheinen bessere Ergebnisse zu bekommen).

    Zum Akkuverbrauch:
    Es gibt eine App, die nennt sich "Hunger Meter", ich werde mal im Auge behalten, was es für Unterschiede zwischen aktiviertem Cron und ohne macht.
    // Bodenseepirat
  • So, nun ein kleiner Zwischenbericht:
    Am Akkuverbrauch merke ich bislang keine Auswirkungen. - Der Cronjob wird auch mit deaktiviertem Energie Management nicht ganz regelmäßig ausgeführt. - Ich behaupte aber, dass der Empfang deutlich besser ist als ohne Anpassungen.

    Ich lasse mir derzeit Logs nach /tmp schreiben. - Die werte sehen gar nicht so schlecht aus, kann aber keine Zahlen liefern, da ich das Telefon nacht abschalte.

    Würde mich freuen, wenn es einen versierten Nutzer gibt, der mein Workaround mitnutzt und Statusberichte verbreiten kann.
    // Bodenseepirat
  • Hallo zusammen ich habe den "hack" bei mir getestet es funzt prima, allerdings ist es so bei mir, dass wenn Threema geöffnet ist und ich gerade eine Nachricht schreibe, dass threema dann in den Hintergrund geht und ich wieder in die App muss. (wenn in der Zeit das sagen wir mal das "script" die Aktualisierung vornimmt).

    Klasse wäre wenn man eine Abfrage einbaut, das nur aktualisiert wenn die im App im Hintergrund läuft.

    Vielleicht habe ich auch etwas falsch gemacht ??

    */1 * * * * 'apkd-launcher /data/app/ch.threema.app-2.apk ch.threema.app/ch.threema.app.activities.DummyActivity'

    muss die 2 dort immer stehen ? weil bei mir im Pfad folgendes Datei ist : /data/app/ch.threema-1.apk

    Liebe Grüße
    ninja
  • monkeyisland schrieb:

    wenn Threema geöffnet ist und ich gerade eine Nachricht schreibe, dass threema dann in den Hintergrund geht und ich wieder in die App muss

    Tatsache, konnte Dein Problem eben nachvollziehen. - Ich nutze auf dem Jolla fast nur XMPP und habe Threema nur zum testen (mehr als ein Buchstabe pro Nachricht gibt es eigentlich nicht).

    Leider wird der Cron-Eintrag mit der Abfrage ob Threema bereits läuft nun etwas hässlich. - Geht vielleicht schöner, aber nicht von mir und schon gar nicht vor meinem ersten Kaffee.


    */1 * * * * 'threemaActive=`ps axl | grep ch.threema.app | grep -v grep` ; test "$threemaActive" || apkd-launcher /data/app/ch.threema.app-2.apk ch.threema.app/ch.threema.app.activities.DummyActivity'
    Der Dateiname sollte eigentlich schon angepasst werden. - Aber allem Anschein nach hat es ja auch so funktioniert.
    // Bodenseepirat
  • Ist doch egal wie es aussieht ...

    Werde testen und berichten.

    Habe nämlich auch festgestellt das auch die anderen Android Apps mit der ursprünglichen Einstellung auch darauf reagieren???

    Komisch irgendwie werde jetzt aber mal das durch testen...



    Edit:

    So mal eingetragen .... allerdings wundert mich das du zum Schluss zwischen ......activities und DummyActivity ein Leerzeichen eingefügt hast.
    ninja

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von monkeyisland ()

  • Hallo monkeyisland,
    besten Dank für Deine Rückmeldung. - Das mit dem Leerzeichen war wirklich ein Fehler (Copy & Paste hat versagt).
    Das mit den anderen Apps konnte ich auch nachvollziehen und suche gerade eine brauchbare Lösung.

    Leider kann ich über den Systemd aliendalvik.service nicht sauber abfragen, welche Android-Prozesse aktuell laufen, da sich dort auch Prozesse reinschreiben, die man ignorieren sollte.

    Ich bleibe dran und melde mich umgehend, wenn es Neuigkeiten gibt.
    // Bodenseepirat
  • hi habe mir das schon gedacht. Was soll ich sagen es funktioniert anscheinend perfekt.
    EAuch beim öffnen einer anderen android app sind die Probleme weg.
    Das lässt ja viele Basteleien offen ggf. könnte man den Befehl ja auch für Nachrichten aus der Ebay app oder dem aptoide store nutzen ??
    Müsste man mehrere Zeilen einfügen je App eine Abfrage oder so.
    Wäre das etwas für "together.jolla.com" oder ggf. für warehouse shop sein.

    liebe Grüße
    ninja
  • Irgendwie wundert es mich gerade, dass es so gut zu funtkionieren scheint. Funktioniert denn der Nachrichtenabruf noch?

    Nebenher tippe ich gerade ein kleines Bash-Skript, mit dem man seine Apps in eine "Whitelist" aufnehmen kann, die sich nicht minimieren dürfen.
    Und ja, das Thema kann man etwas weiterspinnen und noch weitere Apps aufnehmen. - Aber zuerst soll mal Threema funktionieren.

    Für together.jolla.com wird es wohl weniger geeignet sein, da abhängigkeiten erforderlich sind. - Aber für den Warehouse wäre es denkbar, dass ich das ganze irgendwann mal paketier und in ein eigenes Repo schmeiße.


    Nachtrag:
    132 Zeilen Bash als Nebenbeschäftigung an einem Tag und das Teil ist fast Beta-tauglich. - Werde nun aber Feierabend machen und am Montag Abend weitermachen..
    Eine Kopie des Icons und dem Namen ging mit der Bitte um Erlaubnis an Threema. - Mal schauen, was da entschieden wird.
    Dateien
    • threemasync.jpg

      (72,56 kB, 27 mal heruntergeladen, zuletzt: )
    // Bodenseepirat
  • monkeyisland schrieb:

    soll ich ggf. mit weiteren Tests unterstützen helfen?
    Klar, ich bin für alle Tests und Rückmeldungen (solange es nicht mein Code-Schreibstil betrifft :P ) dankbar.
    Bin nun leider das ganze Wochenende unterwegs und hoffe, dass ich am Montag die erste funktionierende Version hinbekomme.

    Werde das Skript dann selbstverständlich zur Verfügung stellen.
    // Bodenseepirat