Xamarin 中的 tvOS 資源和數據 儲存體
本文涵蓋在 Xamarin.tvOS 應用程式中使用資源和永續性數據記憶體。
tvOS 資源限制
與 iOS 裝置不同,新的 Apple TV 為 tvOS 應用程式或數據提供極其有限的永續性本機記憶體。 對於非常小的專案(例如使用者喜好設定),您的 tvOS 應用程式仍可存取 NSUserDefaults
500 KB 的數據。 不過,如果您的 Xamarin.tvOS 應用程式需要保存大量的資訊,則必須從 iCloud 儲存和擷取該數據。
此外,tvOS 會將Apple TV 應用程式的大小限製為200 MB。 如果您的應用程式需要超過此大小的資源,則必須使用 隨選資源 來封裝和載入它們(最多 2 GB)。 鑒於這些限制,請務必正確地下載其他資產,為您的應用程式使用者提供最佳體驗。 如需詳細資訊,請參閱Apple的 隨選資源指南。
非持續性下載
每個tvOS應用程式都會提供一個暫存快取目錄,其額外資源和資產會下載至該目錄。 只要應用程式仍在執行中,就會保留此目錄。 不過,由於 Apple TV 需要釋出空間供其他應用程式或系統使用,因此可以刪除此快取。
因此,您的應用程式無法在下次啟動時依賴先前下載的內容可供使用。 您的 Xamarin.tvOS 應用程式應該一律檢查所需的資源是否存在,並視需要下載它們。
重要
雖然您可以視需要下載其他資產和資源,但 Apple 會警告不要取用應用程式快取中的所有空間,因為這可能會導致無法預期的結果。
管理資源
如上所述,由於tvOS應用程式可用的資訊儲存有限、非持續性,這些限制需要仔細規劃,為您的 Xamarin.tvOS 應用程式建立絕佳的用戶體驗。
iCloud 數據 儲存體
由於 Apple TV 上的記憶體有限,不僅有非常有限的持續性本機記憶體,您的應用程式不保證下次執行時,任何先前下載的資訊都將可供使用。
因此,您的 Xamarin.tvOS 應用程式必須將任何使用者資料儲存在 iCloud 資料存放區中。 Apple 為您的 tvOS 應用程式提供兩個 iCloud 型資料儲存選項:
- iCloud Key-Value 儲存體 (KVS) - 針對應用程式可能需要的小型資訊(小於 1MB)(例如使用者喜好設定),您可以使用 iCloud KVS 儲存體。 iCloud KVS 資料會自動同步處理至雲端,以及執行相同應用程式的所有用戶裝置。 如需詳細資訊,請參閱 iCloud 檔簡介或 Apple 在 iCloud 檔中的索引鍵/值數據設計中的索引鍵/值 儲存體 一節。
- CloudKit - 若要儲存較大的資訊片段(大於 1MB),請使用 Apple 的 CloudKit Framework。 不同於 iCloud KVS 儲存體,CloudKit 資料可以在您應用程式的所有使用者之間共用(以及對單一使用者私用)。 如需詳細資訊,請參閱 CloudKit 簡介檔或 Apple 的 CloudKit 快速入門。
重要
Apple 提供工具協助開發人員適當地處理歐盟一般資料保護規定 (GDPR)。
隨選資源
隨選資源會提供應用程式內容和資產(與應用程式套件組合分開),這些資產裝載於 App Store 上,並視您的應用程式需求下載。 最多可以使用隨選資源提供額外 2GB 的數據。 它們可讓初始應用程式下載規模較小(tvOS 應用程式最多限製為 200 MB),同時仍視需要提供豐富的資產。
當tvOS應用程式要求隨選資源時,系統會自動管理此內容的下載和儲存至應用程式的快取目錄。 您的應用程式必須等待下載此內容並可供使用,才能繼續。
這些資源可能會在整個應用程式的多個啟動期間,繼續在Apple TV上快取,從而加速啟動週期。 不過,您的 app 無法在下次啟動時依賴任何先前下載的內容可供使用。 如需詳細資訊,請參閱上面的非持續性下載一節。
您可以使用 Xcode 來建立與指定資源標記相關聯的相關內容組合(例如遊戲層級 2 的所有資產)。 稍後您的應用程式會藉由指定此資源標籤來要求隨選資源。 您的應用程式應該向用戶顯示UI,指出正在下載內容。 如需詳細資訊,請參閱Apple的 隨選資源指南。
重要
在應用程式必須下載隨選資源與個別下載大小之間的適當平衡時,應小心謹慎。 如果遊戲持續中斷以下載新內容,或單一下載花費太多時間,使用者可能會對您的應用程式感到沮喪。
摘要
本文涵蓋tvOS系統針對 Xamarin.tvOS 應用程式所設定的大小、資源和資料儲存限制。 它呈現了解決這些限制和建議的選項,為您的應用程式建立絕佳的用戶體驗。