IPreprocessBuildWithReport
Описание
Реализуйте этот интерфейс, чтобы выполнить код в начале сборки плеера.
Этот интерфейс заменён на IPreprocessBuildWithContext, который также работает для сборок AssetBundle.
В начале сборки Player, Unity использует IOrderedCallback.callbackOrder свойство на каждой реализации, чтобы определить порядок, в котором вызывать обратные вызова.
Этот обратный вызов может быть полезен для автоматизированных задач и обеспечения правильной настройки среды сборки.
Примеры использования включают:
- Для проверки подлинности, e.g. подтверждая необходимые настройки сборки, переменные среды, содержание или другие условия, специфичные для проекта. Когда это возможно, вы можете автоматически исправить проблемы, изменив настройки. Или вы можете не выполнить сборку, бросив BuildFailedException вместе с ясным сообщением об ошибке.
- Чтобы убедиться, что необходимые Assets включены в сборку. См. PlayerSettings.SetPreloadedAssets.
- Для генерации номеров версий, журналов изменений, файлов link.xml или другого содержимого, которое должно быть регенерировано перед каждой сборкой Player.
- Для ведения журналов, отчетов или отправки аналитических данных.
Результат сборки должен быть предсказуемым и воспроизводимым, основанным на содержании проекта, версии Unity и установленных пакетах. Введение поведения, специфического для среды, внешних зависимостей, случайности или других недетерминистических элементов может привести к результатам, которые трудно отладывать или воспроизводить. Эта непредсказуемость может также подорвать эффективность и точность приростных сборок или приростных обновлений.
Дополнительные ресурсы: BuildPlayerProcessor.PrepareForBuild, IPostprocessBuildWithReport, BuildPlayerProcessor, BuildPipeline.BuildPlayer.
using System; using UnityEditor.Build; using UnityEditor.Build.Reporting;
class BuildScheduleEnforcer : IPreprocessBuildWithReport { public int callbackOrder { get { return 100; } } public void OnPreprocessBuild(BuildReport report) { if (DateTime.Now.DayOfWeek == DayOfWeek.Thursday) // Force the build to fail. This message will appear in the console and Editor log. throw new BuildFailedException("No builds are allowed on Thursdays"); } }
Открытые методы
| Метод | Описание |
|---|---|
| OnPreprocessBuild | Реализуйте этот метод, чтобы получить обратный вызов до начала сборки. |