Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

Использование CCD через интерфейс командной строки

Важно. Документация по доставке контента Unity Cloud перемещена на docs.unity.com. Пожалуйста, посетите новый сайт для получения самой последней информации о Unity CCD.

В этом разделе содержится полный пример использования Cloud Content Delivery (CCD) через интерфейс командной строки (CLI), включая следующие темы:

Аутентификация

Войдите в службу, используя свой ключ API. См. раздел Начало работы, если вам нужна помощь в поиске ключа API.

$ ucd auth login XXXXXXXXXXXX Login successful.

Проверьте, вошли ли вы в систему с помощью команды auth info.

$ ucd auth info Current user: Joe Smith

Создание ведра

Создайте свой первый сегмент. Сегменты связаны с одним проектом. Идентификатор проекта для этого примера — e1942cea-12df-4220-aa6d-f8c9c3ab7526, но вам нужно использовать один из ваших фактических идентификаторов проекта. См. раздел Начало работы, если вам нужна помощь в поиске идентификатора проекта.

Список сегментов (которые на данный момент должны быть пустыми) для этого проекта.

$ ucd buckets list e1942cea-12df-4220-aa6d-f8c9c3ab7526 No buckets found for project.

Создайте сегмент с именем example_bucket для этого проекта:

$ ucd buckets create e1942cea-12df-4220-aa6d-f8c9c3ab7526 example_bucket Created bucket: example_bucket (aee9ee5f-fa01-46d3-a293-731d15f066cf)

Имена сегментов и записей чувствительны к регистру.

Чтобы увидеть вновь созданные сегменты, снова перечислите сегменты для этого проекта:

$ ucd buckets list e1942cea-12df-4220-aa6d-f8c9c3ab7526 Buckets for project (e1942cea-12df-4220-aa6d-f8c9c3ab7526): - example_bucket (aee9ee5f-fa01-46d3-a293-731d15f066cf)

Чтобы упростить работу с созданием записей и выпусков, сохраните только что созданный сегмент в локальной конфигурации (не указывайте его в качестве параметра CLI для каждой операции). Скопируйте GUID сегмента (не его имя) из приведенного выше сообщения о создании сегмента (aee9ee5f-fa01-46d3-a293-731d15f066cf в этом примере):

$ ucd config set bucket aee9ee5f-fa01-46d3-a293-731d15f066cf Successfully switched to bucket aee9ee5f-fa01-46d3-a293-731d15f066cf. Currently active project: e1942cea-12df-4220-aa6d-f8c9c3ab7526. Currently active bucket: aee9ee5f-fa01-46d3-a293-731d15f066cf (example_bucket).

CCD автоматически выполняет любые команды, относящиеся к записям и выпускам в указанной вами корзине.

Создание записей в корзине

Список записей в этом только что созданном сегменте (он должен быть пустым):

$ ucd entries list No Entries found for current bucket.

Синхронизируйте все файлы в локальной папке, содержащей сгенерированные пакеты AssetBundles:

$ ucd entries sync ./ServerData/StandaloneOSX Calculating... Added Entry: catalog_2019.07.30.18.24.34.hash Added Entry: catalog_2019.07.30.18.24.34.json Added Entry: remotedemodata_green.bundle Added Entry: remotedemodata_mat1.bundle Added Entry: remotedemodata_sphere.bundle Added Entry: remotedemodata_unitylogo.bundle Added Entry: remotedemodata_unitylogoprefab.bundle Added Entry: remotedemodata_scenes_scene2.bundle Added Entry: remotedemodata_scenes_scene.bundle Added Entry: spaceshooterdata_done_asteroid01.bundle Added Entry: spaceshooterdata_done_asteroid02.bundle Added Entry: spaceshooterdata_done_asteroid03.bundle Added Entry: spaceshooterdata_done_bolt-enemy.bundle Added Entry: spaceshooterdata_done_bolt.bundle Added Entry: spaceshooterdata_done_enemyship.bundle Added Entry: spaceshooterdata_done_player.bundle Added Entry: spaceshooterdata_engines_enemy.bundle Added Entry: spaceshooterdata_engines_player.bundle Added Entry: spaceshooterdata_explosion_asteroid.bundle Added Entry: spaceshooterdata_explosion_enemy.bundle Added Entry: spaceshooterdata_explosion_player.bundle Added Entry: spaceshooterdata_starfield.bundle Complete! Bytes uploaded: 5346781

Это добавит файлы в качестве записей в корзину. Вы можете перечислить содержимое корзины и просмотреть базовую информацию о каждой записи:

$ ucd entries list 22 entries for current bucket (aee9ee5f-fa01-46d3-a293-731d15f066cf): 2019-08-21 14:27:03 167915 spaceshooterdata_starfield.bundle 2019-08-21 14:27:00 573539 spaceshooterdata_explosion_player.bundle 2019-08-21 14:26:56 412235 spaceshooterdata_explosion_enemy.bundle 2019-08-21 14:26:52 382630 spaceshooterdata_explosion_asteroid.bundle 2019-08-21 14:26:49 177018 spaceshooterdata_engines_player.bundle 2019-08-21 14:26:45 157215 spaceshooterdata_engines_enemy.bundle 2019-08-21 14:26:42 1085518 spaceshooterdata_done_player.bundle 2019-08-21 14:26:38 1070297 spaceshooterdata_done_enemyship.bundle 2019-08-21 14:26:34 27178 spaceshooterdata_done_bolt.bundle 2019-08-21 14:26:31 28362 spaceshooterdata_done_bolt-enemy.bundle 2019-08-21 14:26:28 231658 spaceshooterdata_done_asteroid03.bundle 2019-08-21 14:26:24 221450 spaceshooterdata_done_asteroid02.bundle 2019-08-21 14:26:20 227842 spaceshooterdata_done_asteroid01.bundle 2019-08-21 14:26:17 23016 remotedemodata_scenes_scene.bundle 2019-08-21 14:26:13 23064 remotedemodata_scenes_scene2.bundle 2019-08-21 14:26:10 10568 remotedemodata_unitylogoprefab.bundle 2019-08-21 14:26:07 462522 remotedemodata_unitylogo.bundle 2019-08-21 14:26:03 7864 remotedemodata_sphere.bundle 2019-08-21 14:26:00 6320 remotedemodata_mat1.bundle 2019-08-21 14:25:57 6320 remotedemodata_green.bundle 2019-08-21 14:25:53 44218 catalog_2019.07.30.18.24.34.json 2019-08-21 14:25:50 32 catalog_2019.07.30.18.24.34.hash

Чтобы получить более подробную информацию о конкретной записи, используйте команду entries info, указав путь к записи:

$ ucd entries info spaceshooterdata_starfield.bundle` Entry Info: Path: spaceshooterdata_starfield.bundle Id: 8ac46783-be01-4a47-b23e-74233fc7cc09 Last Modified: 2019-08-21 14:27:03 Content Size: 167915 Content Hash: 4a3ad5b69bd489699d1909e8868a7cb1 Content Type: application/octet-stream Content Link: … Labels: Metadata: Current Version: aa0304db-fd9f-4772-9549-dfeb44cc6d6f

Ваш игровой клиент теперь может запрашивать контент для отдельного файла в корзине, используя путь, связанный с записью. Отправляйте все запросы игрового клиента к поддомену вашего проекта по адресу .client-api.unity3dusercontent.com. Все URL-адреса начинаются с /client_api/v1/ в пути запроса. Ни один из этих клиентских запросов не требует аутентификации.

Чтобы получить содержимое записи, например spaceshooterdata_starfield.bundle, по пути, введите:

https://.client-api.unity3dusercontent.com/client_api/v1/buckets/aee9ee5f-fa01-46d3-a293-731d15f066cf/entry_by_path/content/?path= spaceshooterdata_starfield.bundle

Или, чтобы получить содержимое записи по идентификатору записи, введите:

https://.client-api.unity3dusercontent.com/client_api/v1/buckets/aee9ee5f-fa01-46d3-a293-731d15f066cf/entries/8ac46783-be01-4a47 -b23e-74233fc7cc09/content/

Создание релиза

Создайте выпуск из текущего состояния ваших записей:

$ ucd releases create Created release (#1) in bucket (aee9ee5f-fa01-46d3-a293-731d15f066cf). Id: 80653663-eb39-45e7-9323-e34b23df0d75 Created: 2019-08-21 14:27:30 ...

Это позволяет вам использовать эти точные версии этих записей при запросе контента, даже если вы обновите или удалите эти записи позже.

Чтобы получить более подробную информацию о выпуске, используйте команду releases info и укажите идентификатор только что созданного выпуска:

$ ucd releases info 80653663-eb39-45e7-9323-e34b23df0d75 Release #1: Id: 80653663-eb39-45e7-9323-e34b23df0d75 Created: 2019-08-21 14:27:30 Content Size: 123456 Content Hash: b62343cb3582a7de1286dd3cf23c3592 Notes: Metadata: Entries: - remotedemodata_scenes_scene2.bundle (version: d7c69bc0-5c0b-4625-8a7d-94a4972aa236) - remotedemodata_unitylogo.bundle (version: 97d3659f-0b74-403a-be67-02641ce2dc91) - spaceshooterdata_done_enemyship.bundle (version: edcedc81-80b6-4006-9732-0444898fcffa) - remotedemodata_unitylogoprefab.bundle (version: 4edfa2be-7fae-44c9-bb45-f601cc1130db) - spaceshooterdata_done_bolt-enemy.bundle (version: ef36bfa8-8b24-4b81-a329-b3fad0a0939b) ...

Чтобы получить список всех выпусков, созданных вами в этом сегменте, введите:

$ ucd releases list Releases for current bucket (aee9ee5f-fa01-46d3-a293-731d15f066cf): 2019-08-21 14:27:30 #1 (80653663-eb39-45e7-9323-e34b23df0d75)

Теперь вы можете напрямую ссылаться на содержимое, содержащееся в этом выпуске. Это гарантирует, что вы получите точный набор контента, который CCD использует для создания выпуска, даже если вы измените записи позже в сегменте.

Чтобы получить содержимое записи, например spaceshooterdata_starfield.bundle, по пути, введите:

https://.client-api.unity3dusercontent.com/client_api/v1/buckets/aee9ee5f-fa01-46d3-a293-731d15f066cf/releases/80653663-eb39-45e7 -9323-e34b23df0d75/entry_by_path/content/?path=spaceshooterdata_starfield.bundle

Или, чтобы получить содержимое записи по идентификатору записи, введите:

https://.client-api.unity3dusercontent.com/client_api/v1/buckets/aee9ee5f-fa01-46d3-a293-731d15f066cf/releases/80653663-eb39-45e7 -9323-e34b23df0d75/entries/8ac46783-be01-4a47-b23e-74233fc7cc09/content/

Вы также можете запросить контент, соответствующий последнему выпуску в корзине, чтобы клиенту не нужно было вносить изменения каждый раз, когда CCD создает новый выпуск. Для этого обновите запрос, чтобы использовать маршрут release_by_badge, и укажите имя значка latest (см. Управление значками). Например:

https://.client-api.unity3dusercontent.com/client_api/v1/buckets/aee9ee5f-fa01-46d3-a293-731d15f066cf/release_by_badge/latest/entry_by_path/content /?path=spaceshooterdata_starfield.bundle

Управление значками

После создания выпуска вы можете применить значок, который однозначно идентифицирует выпуск. Значок может указывать только на один выпуск в корзине, но вы можете перемещать значок между выпусками. Во время выполнения вы можете запрашивать контент, используя имя значка, а не конкретный идентификатор выпуска, что обеспечивает большую гибкость рабочих процессов.

Например, вы можете применить значок qa_latest к последнему выпуску, который будет использоваться вашей командой контроля качества, и перемещать этот значок в каждый новый выпуск в рамках процесса ( ручной или автоматизированный).

Чтобы добавить значок с именем my_first_badge в выпуск, созданный в разделе Создание выпуска, введите:

$ ucd badges add my_first_badge 80653663-eb39-45e7-9323-e34b23df0d75 Added badge 'my_first_badge' to release (80653663-eb39-45e7-9323-e34b23df0d75).

Чтобы перечислить все значки, которые вы применили в этом сегменте:

$ ucd badges list Badges for current bucket (aee9ee5f-fa01-46d3-a293-731d15f066cf): 2020-01-07 12:55:41 my_first_badge (80653663-eb39-45e7-9323-e34b23df0d75)

Контент, связанный с выпуском, на который ссылается значок, готов к загрузке. Это можно сделать так же, как при загрузке контента напрямую по идентификатору записи.

Чтобы получить содержимое записи, например spaceshooterdata_starfield.bundle, по пути, введите:

https://.client-api.unity3dusercontent.com/client_api/v1/buckets/aee9ee5f-fa01-46d3-a293-731d15f066cf/release_by_badge/my_first_badge/entry_by_path/content /?path=spaceshooterdata_starfield.bundle

Или, чтобы получить содержимое записи по идентификатору записи, введите:

https://.client-api.unity3dusercontent.com/client_api/v1/buckets/aee9ee5f-fa01-46d3-a293-731d15f066cf/release_by_badge/my_first_badge/entries/8ac46783 -be01-4a47-b23e-74233fc7cc09/content/

Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
Руководство Unity 2021.3