Udostępnij za pośrednictwem


Zasoby systemu tvOS i magazyn danych na platformie Xamarin

W tym artykule opisano pracę z zasobami i trwałym magazynem danych w aplikacji platformy Xamarin.tvOS.

Ograniczenia zasobów systemu tvOS

W przeciwieństwie do urządzeń z systemem iOS nowy program Apple TV zapewnia niezwykle ograniczoną trwałość, lokalną pamięć masową dla aplikacji lub danych systemu tvOS. W przypadku bardzo małych elementów (takich jak preferencje użytkownika) aplikacja tvOS nadal ma dostęp do NSUserDefaultslimitu 500 KB danych. Jeśli jednak aplikacja Xamarin.tvOS musi utrwalać większe ilości informacji, musi przechowywać i pobierać te dane z usługi iCloud.

Ponadto system tvOS ogranicza rozmiar aplikacji Apple TV do 200 MB. Jeśli aplikacja wymaga zasobów poza tym rozmiarem, należy je spakować i załadować przy użyciu zasobów na żądanie (do dodatkowego 2 GB). Biorąc pod uwagę te ograniczenia, ważne jest, aby prawidłowo pobrać dodatkowe zasoby, aby zapewnić najlepsze środowisko dla użytkowników aplikacji. Aby uzyskać więcej informacji, zobacz Przewodnik dotyczący zasobów na żądanie firmy Apple.

Pobieranie nietrwale trwałe

Każda aplikacja tvOS udostępnia tymczasowy katalog pamięci podręcznej, do którego są pobierane dodatkowe zasoby i zasoby. Ten katalog zostanie zachowany tak długo, jak aplikacja jest nadal uruchomiona. Jednak ponieważ urządzenie Apple TV musi zwolnić miejsce na inne aplikacje lub użycie systemu, można usunąć tę pamięć podręczną.

W związku z tym aplikacja nie może polegać na tym, że wcześniej pobrana zawartość jest dostępna przy następnym uruchomieniu. Aplikacja Xamarin.tvOS powinna zawsze sprawdzać istnienie wymaganych zasobów i pobierać je zgodnie z potrzebami.

Ważne

Chociaż masz możliwość pobierania innych zasobów i zasobów zgodnie z potrzebami, firma Apple ostrzega przed zużyciem całego miejsca w pamięci podręcznej aplikacji, ponieważ może to prowadzić do nieprzewidywalnych wyników.

Zarządzanie zasobami

Jak wspomniano powyżej, ze względu na ograniczony, nietrwale przechowywanie informacji dostępnych dla aplikacji systemu tvOS, te ograniczenia wymagają starannego planowania utworzenia doskonałego środowiska użytkownika dla aplikacji platformy Xamarin.tvOS.

Magazyn danych w usłudze iCloud

Ponieważ magazyn na urządzeniu Apple TV jest ograniczony, nie tylko istnieje bardzo ograniczony magazyn lokalny, aplikacja nie ma gwarancji, że wszystkie pobrane wcześniej informacje będą dostępne przy następnym uruchomieniu.

W związku z tym aplikacja Xamarin.tvOS musi przechowywać wszystkie dane użytkownika w magazynie danych usługi iCloud. Firma Apple udostępnia dwie opcje przechowywania danych oparte na usłudze iCloud dla aplikacji systemu tvOS:

  • iCloud Key-Value Storage (KVS) — w przypadku małych informacji (mniej niż 1 MB), których aplikacja może wymagać (na przykład preferencji użytkownika), możesz użyć usługi iCloud KVS Storage. Dane KVS w usłudze iCloud są automatycznie synchronizowane z chmurą i wszystkimi urządzeniami użytkownika z tą samą aplikacją. Aby uzyskać więcej informacji, zobacz sekcję Key-Value Storage (Magazyn klucz-wartość) w dokumencie Introduction to iCloud (Wprowadzenie do usługi iCloud ) lub dokumentacją dotyczącą projektowania danych klucz-wartość firmy Apple w usłudze iCloud .
  • CloudKit — w przypadku przechowywania większych informacji (więcej niż 1 MB) użyj struktury CloudKit Framework firmy Apple. W przeciwieństwie do magazynu KVS w usłudze iCloud dane CloudKit mogą być współużytkowane przez wszystkich użytkowników aplikacji (a także prywatne dla jednego użytkownika). Aby uzyskać więcej informacji, zobacz dokumentację wprowadzenie do zestawu CloudKit lub przewodnik Szybki start firmy Apple dotyczący zestawu CloudKit.

Ważne

Firma Apple udostępnia narzędzia pomagające deweloperom w prawidłowym obsłudze ogólnego rozporządzenia o ochronie danych (RODO) Unii Europejskiej.

Zasoby na żądanie

Zasoby na żądanie zapewniają zawartość i zasoby aplikacji (oddzielone od pakietu aplikacji), które są hostowane w sklepie App Store i pobierane zgodnie z wymaganiami aplikacji. Za pomocą zasobów na żądanie można obsłużyć maksymalnie 2 GB danych. Umożliwiają one mniejsze pobieranie początkowej aplikacji (aplikacje systemu tvOS są ograniczone do maksymalnie 200 MB), jednocześnie zapewniając zaawansowane zasoby zgodnie z potrzebami.

Gdy aplikacja tvOS żąda zasobów na żądanie, system automatycznie zarządza pobieraniem i przechowywaniem tej zawartości w katalogu pamięci podręcznej aplikacji. Aplikacja musi poczekać na pobranie tej zawartości i udostępnienie jej, zanim będzie mogła kontynuować.

Te zasoby mogą być nadal buforowane na urządzeniu Apple TV przez wiele uruchomień aplikacji, co przyspiesza cykl uruchamiania. Jednak aplikacja nie może polegać na tym, że wcześniej pobrana zawartość jest dostępna przy następnym uruchomieniu. Aby uzyskać więcej informacji, zobacz sekcję Nietrwale pobrane powyżej.

Używasz programu Xcode do tworzenia pakietów powiązanej zawartości (na przykład wszystkich zasobów na poziomie gry 2) skojarzonych z danym tagiem zasobu. Później aplikacja zażąda zasobu na żądanie, określając ten tag zasobu. Aplikacja powinna przedstawić użytkownikowi interfejs użytkownika z informacją, że zawartość jest pobierana. Aby uzyskać więcej informacji, zobacz Przewodnik dotyczący zasobów na żądanie firmy Apple.

Ważne

Należy zachować właściwą równowagę między liczbą prób pobrania zasobów na żądanie przez aplikację a rozmiarem poszczególnych pobrań. Użytkownik może stać się sfrustrowany twoją aplikacją, jeśli rozgrywka jest stale przerywana, aby pobrać nową zawartość lub jeśli pobieranie pojedyncze zajmuje zbyt dużo czasu.

Podsumowanie

W tym artykule opisano ograniczenia rozmiaru, zasobów i magazynu danych umieszczone w aplikacji platformy Xamarin.tvOS przez system tvOS. Przedstawiono opcje obejścia tych ograniczeń i sugestii w celu utworzenia doskonałego środowiska użytkownika dla aplikacji.