Freigeben über


tvOS-Ressourcen und Datenspeicher in Xamarin

In diesem Artikel wird die Arbeit mit Ressourcen und beständiger Datenspeicherung in einer Xamarin.tvOS-App behandelt.

tvOS-Ressourcenbeschränkungen

Im Gegensatz zu iOS-Geräten bietet der neue Apple TV extrem begrenzten beständigen lokalen Speicher für tvOS-Apps oder -Daten. Für sehr kleine Elemente (z. B. Benutzereinstellungen) hat Ihre tvOS-App weiterhin Zugriff auf NSUserDefaults einen Grenzwert von 500 KB Daten. Wenn Ihre Xamarin.tvOS-App jedoch größere Informationsmengen speichern und abrufen muss, muss sie diese Daten aus iCloud speichern und abrufen.

Darüber hinaus schränkt tvOS die Größe einer Apple TV-App auf 200 MB ein. Wenn Ihre App Ressourcen über diese Größe hinaus benötigt, müssen sie mit On-Demand-Ressourcen (bis zu einem zusätzlichen 2 GB) verpackt und geladen werden. Angesichts dieser Einschränkungen ist es wichtig, dass Sie das Herunterladen zusätzlicher Ressourcen richtig zeitigen, um den Benutzern Ihrer App optimale Benutzerfreundlichkeit zu bieten. Weitere Informationen finden Sie im Leitfaden zu On-Demand-Ressourcen von Apple.

Nicht persistente Downloads

Jede tvOS-App wird ein temporäres Cacheverzeichnis bereitgestellt, in das die zusätzlichen Ressourcen und Ressourcen heruntergeladen werden. Dieses Verzeichnis wird beibehalten, solange die App noch ausgeführt wird. Da der Apple TV jedoch Platz für andere Apps oder Systemnutzung freigeben muss, kann dieser Cache gelöscht werden.

Daher kann Ihre App nicht darauf vertrauen, dass zuvor heruntergeladene Inhalte beim nächsten Start verfügbar sind. Ihre Xamarin.tvOS-App sollte immer überprüfen, ob erforderliche Ressourcen vorhanden sind, und sie nach Bedarf herunterladen.

Wichtig

Während Sie nach Bedarf andere Ressourcen und Ressourcen herunterladen können, warnt Apple vor dem Verbrauch des gesamten Speicherplatzes im Cache Ihrer App, da dies zu unvorhersehbaren Ergebnissen führen kann.

Verwalten von Ressourcen

Wie oben erwähnt, ist aufgrund der eingeschränkten, nicht persistenten Speicherung von Informationen, die für tvOS-Apps verfügbar sind, eine sorgfältige Planung erforderlich, um eine großartige Benutzererfahrung für Ihre Xamarin.tvOS-App zu schaffen.

iCloud-Datenspeicher

Da der Speicher auf dem Apple TV begrenzt ist, gibt es nicht nur einen sehr begrenzten beständigen lokalen Speicher, ihre App hat keine Garantie dafür, dass alle zuvor heruntergeladenen Informationen bei der nächsten Ausführung verfügbar sind.

Daher muss Ihre Xamarin.tvOS-App alle Benutzerdaten in einem iCloud-Datenspeicher speichern. Apple bietet zwei iCloud-basierte Datenspeicheroptionen für Ihre tvOS-Apps:

  • iCloud Key-Value Storage (KVS) – Für kleine Informationen (weniger als 1 MB), die Ihre App möglicherweise benötigt (z. B. Benutzereinstellungen), können Sie iCloud KVS Storage verwenden. iCloud KVS-Daten werden automatisch mit der Cloud synchronisiert, und alle Geräte des Benutzers, auf denen dieselbe App ausgeführt wird. Weitere Informationen finden Sie im Abschnitt "Key-Value Storage " unseres Dokuments "Einführung in iCloud " oder "Design für Key-Value-Daten" in der iCloud-Dokumentation .
  • CloudKit – Verwenden Sie für die Speicherung größerer Informationen (größer als 1 MB) das CloudKit Framework von Apple. Im Gegensatz zu iCloud KVS Storage können CloudKit-Daten für alle Benutzer Ihrer App freigegeben werden (sowie privat für einen einzelnen Benutzer). Weitere Informationen finden Sie in unserer Einführung in die CloudKit-Dokumentation oder die CloudKit-Schnellstartanleitung von Apple.

Wichtig

Apple stellt Tools zur Verfügung, die Entwickler dabei unterstützen, die Datenschutz-Grundverordnung (DSGVO) der Europäischen Union umzusetzen.

On-Demand-Ressourcen

On-Demand-Ressourcen bieten App-Inhalte und Ressourcen (getrennt vom App-Bündel), die im App Store gehostet und nach Bedarf von Ihrer App heruntergeladen werden. Bis zu 2 GB Daten können mit On-Demand-Ressourcen bereitgestellt werden. Sie ermöglichen es, den anfänglichen App-Download zu verkleineren (tvOS-Apps sind auf maximal 200 MB beschränkt), während sie weiterhin umfangreiche Ressourcen bei Bedarf bereitstellen.

Wenn eine tvOS-App On-Demand-Ressourcen anfordert, verwaltet das System automatisch das Herunterladen und Speichern dieses Inhalts in das Cacheverzeichnis der App. Ihre App muss warten, bis diese Inhalte heruntergeladen und verfügbar gemacht werden, bevor sie fortgesetzt werden kann.

Diese Ressourcen werden möglicherweise während mehrerer Starts Ihrer App weiterhin auf dem Apple TV zwischengespeichert, wodurch der Startzyklus beschleunigt wird. Ihre App kann sich jedoch nicht darauf verlassen, dass zuvor heruntergeladene Inhalte beim nächsten Start verfügbar sind. Weitere Informationen finden Sie im Abschnitt "Nicht persistente Downloads" weiter oben.

Mit Xcode erstellen Sie Bündel verwandter Inhalte (z. B. alle Ressourcen für Spielebene 2), die einem Ressourcentag zugeordnet sind. Später fordert Ihre App die On-Demand-Ressource an, indem Sie dieses Ressourcentag angeben. Ihre App sollte dem Benutzer eine Benutzeroberfläche präsentieren, die besagt, dass Inhalte heruntergeladen werden. Weitere Informationen finden Sie im Leitfaden zu On-Demand-Ressourcen von Apple.

Wichtig

Achten Sie darauf, das richtige Gleichgewicht zwischen der Anzahl der Downloadressourcen und der Größe der einzelnen Downloads zu treffen. Benutzer werden möglicherweise frustriert mit Ihrer App, wenn das Spiel ständig unterbrochen wird, um neue Inhalte herunterzuladen oder wenn ein einzelner Download zu viel Zeit in Anspruch nimmt.

Zusammenfassung

In diesem Artikel wurden die Größen-, Ressourcen- und Datenspeicherungseinschränkungen behandelt, die in einer Xamarin.tvOS-App vom tvOS-System festgelegt wurden. Es bietet Optionen, um diese Einschränkungen und Vorschläge zu umgehen, um eine großartige Benutzererfahrung für Ihre App zu schaffen.