Background Task oder Background Fetch

  • Background Task oder Background Fetch

    Hallo zusammen,

    ich möchte im Hintergrund regelmässig Daten von einem Webservice aufrufen und zwar auch bei gelocktem Device. Da bietet sich natürlich ein Background Fetch an. Allerdings wird die entsprechende Methode dort offenbar nur nach Gutdünken des Betriebsystems aufgerufen. Will heißen: Eine Stunde passiert nichts dann wieder alle 5 Minuten. Ich bräuchte aber eine regelmässige verlässliche Aktualisierung - etwa alle 5 Minuten. Wie würdet Ihr so etwas am besten angehen?

    Gruß

    Ralf
  • Gar nicht....

    Wozu soll das gut sein? Wenn meine App nicht aktiv ist braucht sie auch nicht dauernd neue Daten laden und meinen Akku Leersaugen oder gar mein Datenvolumen aufbrauchen (ja es. Gibt auch noch Menschen die keine unbegrenzte Mobile Daten Flat haben)

    Die Daten kann ich auch genauso gut noch laden wenn die App wieder in den Vordergrund kommt.

    Claus
    2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

    Pre-Kaffee-Posts sind mit Vorsicht zu geniessen :)
  • Nach der Beurteilung einer Sinnhaftigkeit in Bezug auf die anfallenden Datenmengen hatte ich zwar nicht gefragt - aber gut:
    Es geht um Erinnerungen an vereinbarte bzw. abgesagt Termine. Jeden Tag werden einmal die anstehenden Termine für den jeweiligen User eingelesen und entsprechende lokale Notifikationen generiert. Nun kann es vorkommen, das Termine kurzfristig abgesagt werden oder dem User ebenso kurzfristig welche eingeschoben werden. Aus diesem Grund möchte ich eine regelmässige Aktualisierung der Timeline. Diese wird über JSon abgeglichen und sollte keinen großen Datenverkehr produzieren. Des Weiteren wird die App ausschließlich im Wlan verwendet und greift auf einen lokalen IIS zu.

    Ralf
  • Das hört sich stark nach an Push-Notifications an. Und so viel Mehraufwand ist garnicht dahinter, wenn man überlegt, dass
    • Die Termine ja irgendwie jetzt schon ins System geben werden müssen
    • Das eine JSON aufbereitet werden muss und
    • das die JSON für jedem User speziell aufbereitet werden muss
    da kann man bei der ersten Anmeldung des User in der App auch die passenden Daten für den Push zum Server senden.

    Alternativ:
    Firmen E-Mail-Konto per Mail aktivieren und Kalendar-Sync aktivieren, danach wird bei Termin Änderungen immer gepusht.

    Viele Grüße,
    Schumi
  • Für verteilte Termine gibt es ungefähr seit März 2007 von einer gewissen 'IETF' den sogenannten RFC-4791, einigen besser bekannt unter dem Synonym 'CalDAV'…
    Ich verstehe einfach nicht, warum jeder immer und permanent das Rad neu erfinden will. Krankhafte Abneigung, sich von Anderen etwas vorschreiben zu lassen?

    Anyways, mit Deinem Wunsch wirst Du nicht allzu weit kommen.
    Dieses 'seltsame' Verhalten ist seitens iOS gewünscht und soll die Ressourcen schonen. Lieber einen abgesagten Termin nicht auf die Reihe kriegen und umsonst im Konferenzraum warten als sämtliche Tagestermine wegen leergelutschtem Akku zu versäumen…

    Generell spricht Apple an allen erdenklichen Stellen davon, auf regelmäßige Anfragen über das Datennetz ganz zu verzichten und WLAN zu bevorzugen, da der WiFi Chip für Datenübertragung weniger Energie verbrät als das GSM/GPRS/EDGE/LTE Modem.
    Am Liebsten ist es ihnen (und mir), das System hätte die volle Kontrolle über abzuarbeitende Netzwerkverbindungen und würde alles in einem Rutsch erledigen. Wenn also Mail gerade via Push was vom Server bekommt einfach mal alle gestapelten Anfragen losfeuern und gut.

    Ansonsten stimme ich macmoonshines Auffassung zu. Wenn sich etwas gravierend geändert hat, dann sollte der User das sofort erfahren, nicht nach Gutdünken Deiner App nach ungefähr 5 Minuten. Push Notification mit Anzahl der geänderten Terminen sowie der ID des letzten geänderten Termins und dem geänderten Status.
    Die App wird dann ja hoffentlich wissen was zu tun ist und kann mit einer User Notification die notwendige Aufmerksamkeit erregen.
    «Applejack» "Don't you use your fancy mathematics to muddle the issue!"

    Iä-86! Iä-64! Awavauatsh fthagn!

    kmr schrieb:

    Ach, Du bist auch so ein leichtgläubiger Zeitgenosse, der alles glaubt, was irgendwelche Typen vor sich hin brabbeln. :-P