Основываясь на скриншоте из руководств Apple для разработчиков, некоторые люди с оружием в руках обсуждают ограничение Apple TV в 200 МБ для пакетов приложений (приложение, которое вы загружаете из App Store Apple TV).

200 МБ — это не много места для хранения игровых уровней, сервисов автономного контента или чего-то подобного. Хорошая новость в том, что 200 МБ — это всего лишь ограничение размера для начальной загрузки в App Store. После того, как вы откроете приложение, вы можете загрузить до 2 ГБ на каждое приложение и до 20 ГБ других ресурсов, доступных в облаке. Apple позволяет разработчикам делать это, используя ресурсы по требованию, и вот как это работает.

Ресурсы по запросу 101

Допустим, вы, разработчик, создаете приложение боковой прокрутки для Apple TV с 50 уровнями. Все вместе, ваш пакет приложений получается что-то вроде 4 ГБ — слишком много для App Store Apple TV, чтобы правильно разместить. Вместо этого вы можете воспользоваться новой функцией tvOS / iOS под названием «Ресурсы по требованию», чтобы разделить ваше приложение и доставить его по частям пользователю.

Вместо того, чтобы заставлять пользователя загружать 4 ГБ с нуля, вы разбиваете свое приложение на кучу разделов, называемых тегами. Вы включаете в этот пакет 200 МБ основные части приложения — экран загрузки и запуска, оценки, настройки и первые пять уровней.

Другие уровни и ресурсы разделены на несколько тегов размером от 64 до 512 МБ. Например, если вы нарезаете теги размером до 100 МБ для вашей игры, у вас будет 38 дополнительных элементов для загрузки после того, как пользователь установит игру. Однако они приходят не сразу: их вызывают по требованию, когда они нужны пользователю.

Как ресурсы по требованию работают в действии

Когда пользователь загружает ваше приложение, он загружает этот первоначальный комплект приложений объемом 200 МБ со всеми основами, которые в нем содержатся. Оттуда разработчики также могут пометить до 2 ГБ в тегах начальной установки для загрузки при установке — это означает, что когда пользователь заканчивает установку и открывает приложение, он может получить до двух дополнительных гигабайт ресурсов в фоновом режиме.

В нашем сценарии выше начальный пакет 200 МБ может быть просто экраном запуска вашей игры и т. П .; однако, как только пользователь откроет ваше приложение в первый раз, оно вызовет дополнительные 2 ГБ, включающие первые 25 уровней.

На данный момент ваша игра использует 2,2 ГБ данных — 2 ГБ ресурсов по запросу, загружаемых локально, а также другие 200 МБ из исходного пакета приложений. Это истинный номер хранилища, который Apple TV поддерживает одновременно: 2,2 ГБ.

Но: у вас есть игра на 4 ГБ! Как вы получаете эти 25 других уровней?

Легко, благодаря силе фоновой обработки. Ресурсы по требованию работают в сочетании с тем, к чему ваш пользователь активно обращается, и будут сбрасывать старый, неиспользуемый контент, чтобы освободить место для дополнительных ресурсов. Если пользователь играет на 24 уровне вашей игры, система автоматически сбрасывает несколько 100-мегабайтных тегов старых уровней (скажем, 1-5), чтобы освободить место для уровней 25-30. По мере того, как пользователь продвигается дальше в вашей игре, старые уровни удаляются и удаляются с Apple TV, а ваши новые уровни (также в комплектах тегов) устанавливаются — все в фоновом режиме.

В App Store Apple TV вы можете разместить до 20 ГБ ресурсов по требованию. Хотя наша гипотетическая игра может занимать всего 4 ГБ, 20 ГБ предлагает большой потенциал для других, более сложных игр и приложений.

TL; DR: в магазине есть большой потенциал для игр и приложений

Напомним: 200 МБ — это начальный комплект приложений. 2,2 ГБ — это место, которое приложение может занять в любой точке. 20 ГБ — это максимальное количество ресурсов, размещаемых Apple, которое вы можете иметь для любого приложения.

В отличие от этого, iOS позволяет использовать до 2 ГБ для начального пакета приложений, а в тегах доступно еще 2 ГБ, что дает 4 ГБ свободного места на приложение. Так что Apple TV работает с меньшим пространством, чем iOS, да. Но это не мешает 200 МБ приложениям.

Большое спасибо отличной документации Apple по ресурсам On-Demand {.nofollow} за помощь в решении этой проблемы. Есть еще вопросы по этому поводу? Дайте мне знать в комментариях, и я постараюсь разобраться.

Оцените статью!