Важно. Документация по доставке контента 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
Ваш игровой клиент теперь может запрашивать контент для отдельного файла в корзине, используя путь, связанный с записью. Отправляйте все запросы игрового клиента к поддомену вашего проекта по адресу
. Все URL-адреса начинаются с /client_api/v1/ в пути запроса. Ни один из этих клиентских запросов не требует аутентификации.
Чтобы получить содержимое записи, например spaceshooterdata_starfield.bundle
, по пути, введите:
https://
Или, чтобы получить содержимое записи по идентификатору записи, введите:
https://
Создание релиза
Создайте выпуск из текущего состояния ваших записей:
$ 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://
Или, чтобы получить содержимое записи по идентификатору записи, введите:
https://
Вы также можете запросить контент, соответствующий последнему выпуску в корзине, чтобы клиенту не нужно было вносить изменения каждый раз, когда CCD создает новый выпуск. Для этого обновите запрос, чтобы использовать маршрут release_by_badge
, и укажите имя значка latest
(см. Управление значками). Например:
https://
Управление значками
После создания выпуска вы можете применить значок, который однозначно идентифицирует выпуск. Значок может указывать только на один выпуск в корзине, но вы можете перемещать значок между выпусками. Во время выполнения вы можете запрашивать контент, используя имя значка, а не конкретный идентификатор выпуска, что обеспечивает большую гибкость рабочих процессов.
Например, вы можете применить значок 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://
Или, чтобы получить содержимое записи по идентификатору записи, введите:
https://