App in Warteposition setzen

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

  • App in Warteposition setzen

    Servus zusammen,

    ich schon wieder... :thumbsup:

    Ich habe mal eine ganz allgemeine Frage zur Warteposition einer App.
    Viele Apps setzten die App im Launchsreen ja in eine Warteposition bis die notwendigen Informationen geladen sind.
    Nun habe ich in meine App eine Statistik eingefügt, welche erst beim starten der App geladen wird, da diese Online ist um immer aktuell zu sein.
    Jetzt besteht aber das Problem, dass bei schlechter o. langsamer Internetverbindung der Hauptbildschirm bereits erscheint, jedoch die Statistik fehlt und erst nachlädt, wenn sie überhaupt lädt.
    Meine unprofessionelle Lösung war das Anhängen des sleep befehls in die ViewLoad Sektion.
    Somit lädt die erste Seite jedoch auch langsam wenn man von einer anderen Seite drauf zurück wechselt.

    Gibt es die Möglichkeit mit dem Laden schon im Launchscreen zu beginnen? Bzw. den Launchscreen Wechsel an diese Bedingung zu knüpfen?

    Grüße

    Ferdi
  • Deine Ladefunktion wird doch sicherlich ueber einen calBack verfügen, der dir ein Result (Daten vs. Error) returned. Darauf reagierst du dann und lädst dem Result entsprechend deine UI.
    Thema: Lauchscreen > in der heutigen Zeit zählt jede Sekunde. Nutzer haben wenig Geduld mit einer App, die in einem Lauchscreen hängt und nicht den Eindruck von Aktivität vermittelt.

    App Start:

    - API-Zugriff
    - LoadingSpinner
    - der User wird darüber informiert, was passiert > eventuell mit wechselnden Text- / Imagedarstellungen

    Daten sind geladen: UI fuer Benutzung der wird gesetzt
    Daten geladen fehlgeschlagen: UI fuer Datenkladefehler wird gesetzt
  • Ich würde sogar noch weiter gehen und gar keinen Ladescreen machen. Einfach an der Stelle im UI wo die noch nicht geladenen Daten stehen sollen einen spinner rein. Das Laden der Daten natürlich im Hintergrund. Somit kann der User die App komplett benutzen auch wenn die Daten noch gar nicht geladen sind
    2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

    Pre-Kaffee-Posts sind mit Vorsicht zu geniessen :)
  • Hm, das klingt natürlich alles sehr vernünftig.
    Das etwas passiert sollte der User auf jeden fall sehen.

    Meine Ladefunktion verfügt über einen calBack, das Problem ist, dass dieser erst im Haupt Viewcontroller aufgerufen wird und nicht im Launchscreen.
    Ich habe nichts passendes dazu gefunden wie ich auf diesen zugreifen kann :/
  • Ferdinand schrieb:


    Meine Ladefunktion verfügt über einen calBack, das Problem ist, dass dieser erst im Haupt Viewcontroller aufgerufen wird und nicht im Launchscreen.
    Ich habe nichts passendes dazu gefunden wie ich auf diesen zugreifen kann :/
    Kannst Du nicht: Der "echte" LaunchScreen ist eben etwas, das nur kurz beim App-Start eingeblendet wird und über eine Dummy-Anzeige nur das Gefühl vermitteln soll, Deine App wäre schnell geladen. Du hast zu diesem Zeitpunkt keine Kontrolle (weil Deine App eben noch nicht läuft), sondern erst mit Erscheinen des ersten ViewControllers.

    Sofern Deine App mehr Zeit braucht, musst Du eben in diesem ViewController den Lade-Prozess abbilden ... ansonsten kann ich mich den Antworten oben nur anschließen.

    Mattes
    Diese Seite bleibt aus technischen Gründen unbedruckt.
  • So, jetzt bin ich auch mal wieder dazugekommen bissl was dran zu arbeiten.
    Ich hab jetzt schon ein paar Sachen probiert.
    Ich habe den LaunchScreen durch das einfügen des sleep Befehls auf fünf Sekunden gestreckt, das ist ausreichend um alles andere zu Laden, jedoch von Apple absolut verboten.
    Dann habe ich ausprobiert, ob ich einfach einen Screenshot des LaunchScreens über den ersten ViewController lege, damit alles laden kann und dieser nach fünf Sekunden entfernt wird, jedoch kommt dieser dann ja wieder sobald man auf die zweite Seite wechselt und dann wieder zurück kommt. Meine Lösungsansätze dafür waren bisher zu unkreativ :/

    Ein Check ob der Benutzer mit dem Internet verbunden ist finde ich ein wenig übertrieben oder?

    Grüße
    Ferdi
  • Wie Thallius bereits geschrieben hat, schenke dir den Lauchscreen komplett. Sowas macht man heute einfach nicht mehr. Zeige waehrend des Ladens einfach alte cached Daten (die du dann mit neuen aktualisierst, nach dem Laden) und/oder informiere den Nutzer, dass die App grad man Laden ist. Du investiert Zeit in ein #Feature, was deine App schlechter und nicht besser macht.

    Konzentriere dich doch auf die App-Funktion und nicht auf etwas, was kaum Sinn macht und euch niemand wirklich mag.