• Es ist bereits Apfeltalk-Tradition und wir möchten sie auch in diesem Jahr fortsetzen: Unser Apfeltalk-Weihnachtslogo-Wettbewerb hat begonnen! Gestaltet für uns das Weihnachtsbanner, das im Monat Dezember bis zum Weihnachtsfest unsere Webseite schmücken soll. Lasst Eurer Kreativität freien Lauf! Hier geht es zum Wettbewerb --> Klick

Wie funktioniert die Hintergrundaktualisierung?

Ijon Tichy

Clairgeau
Registriert
21.11.06
Beiträge
3.726
Ich habe oben stehende Frage, weil ich immer dachte, dass ich wüsste, wie die funktioniert, aber nun habe ich einen Effekt, den ich mir nicht erklären kann, also scheine ich es doch nicht zu wissen.

Folgendes Szenario:

Auf meinem iPhone befindet sich eine App (Jira), die auf einen Server im lokalen Netzwerk zugreift. Dieser Server ist auch remote über VPN zu erreichen. Da die Verwendung von VPN auf die Batterielaufzeit geht und ich eigentlich keine Benachrichtigung über neue Inhalte benötige, habe ich für diese App die Erlaubnis zur Hintergrundaktualisierung ausgeschaltet (Einstellungen > Allgemeine > Hintergrundaktualisierung > Jira > aus).

Meine Annahme: Die App kann nun nicht mehr im Hintergrund nach neuen Inhalten suchen. Ich werde diese also nur sehen, wenn ich die App selbst aufrufe.

Was tatsächlich geschieht: Das App-Kennzeichen für neue Inhalte erscheint, wenn es auf dem Server neue Inhalte gibt.

Woher zum Kuckuck weiß die App jetzt, dass neue Inhalte auf dem Server sind?

Oder: Wenn die App trotz ausgeschalteter Hintergrundaktualisierung den Server abfragen kann, wozu zum Kuckuck dient dann der Schalter für die Hintergrundaktualisierung?

Danke für jedweden Erhellungsversuch eurerseits!
 
Wahrscheinlich sendet der Server Apple-Push-Notifications. Dann wird die App über jede Änderung informiert, auch ohne dass sie läuft.
 
  • Like
Reaktionen: rs254 und Ijon Tichy
Und um Marcel zu ergänzen: bei aktivierter Hintergrundaktualisierung kann die App auf eine Push-Benachrichtigung direkt reagieren und die neuen Inhalte (bzw. deren Auflistung) bereits laden, auch wenn die App nicht geöffnet wurde. Bei deaktivierter Hintergrundaktualisierung werden die neuen Inhalte erst beim Öffnen der App geladen.

Gruß
 
Wahrscheinlich sendet der Server Apple-Push-Notifications. Dann wird die App über jede Änderung informiert, auch ohne dass sie läuft.
Normalerweise würde ich dir recht geben. Aber in diesem Fall frage ich mich (und dich), woher der Apple-Server wissen sollte, dass es auf dem lokalen Server Änderungen gibt? Der ist nur im LAN oder über VPN erreichbar.
 
Hat der lokale Server eine Internetverbindung? Dann kann er die Apple-Server erreichen und die Push-Benachrichtung veranlassen. Er muss dafür nicht von außen erreichbar sein.

Gruß
 
  • Like
Reaktionen: Ijon Tichy
Das könnte natürlich sein, aber da fehlt mir immer noch die Verbindung zu meiner App.

Der Jira-Server müsste dann zum einen aktiv die Apple-Aktualisierung unterstützen, also implementiert haben, und zum anderen muss dann irgendwie man der Apple-Server die Verbindung zwischen der Info vom Jira-Server und meiner App (also vermutlich meiner Appleid) herstellen können.

Ich könnte mir zwar zusammenreimen wie man das machen könnte, wüsste aber gerne wie es tatsächlich ist. Hat jemand von euch Ahnung davon?

----

Nachtrag:

Hier habe ich eine Seite gefunden, wo es wirklich gut erklärt ist. Allein die Grafik ist Gold wert: https://www.applemust.com/how-ios-push-notification-works/

Zusammengefasst (falls der Link mal kaputtgeht):
  1. Die App registriert sich für Push-Notifications (bei iOS)
  2. iOS holt sich vom Apple Push Notifications Server (APNS) einen Token und gibt den der App
  3. Die App gibt den Token dem internen Server weiter
  4. Der interne Server meldet Aktualisierungen nun (aktiv) zusammen mit dem Token an den APNS
  5. Der APNS sendet die Info an das iOS-Device, das zu dem Token gehört
Vielen Dank an alle für die Mithilfe!
 
Zuletzt bearbeitet:
Eine kurze Suche zeigt, dass der Jira-Server Apple Push-Benachrichtigungen unterstützt (lässt sich wohl in den Account-Einstellungen konfigurieren).

Und die Verbindung zwischen deinem lokalen Jira-Server und deinem iPhone wurde wahr. über die Verwendung der App im lokalen Netzwerk hergestellt. D.h. dein lokaler Jira-Server hat irgendwann einmal dein iPhone für den Empfang von Push-Benachrichtigungen registriert. Das hat nicht direkt etwas mit einer Apple-ID zu tun.

Der Vorteil der Push-Benachrichtigung ist ja eben der, dass keine aktive Verbindung offen gehalten werden muss.


Gruß
 
  • Like
Reaktionen: Ijon Tichy
Hier noch die Grafik:

6HtsK.jpg
 
Also ich habe jetzt mal überall die Hintergrundaktualisierung eingestellt. Merke da ehrlich gesagt keinen Unterschied. Apps, wie Wetter, FB, WA, FlashScore, Kicker öffnen genauso so schnell und aktuell.