BuildManifestObject
는 수동으로 UnityCloudBuildManifest.json TextAsset을 로드할 필요 없이 스크립트를 통하여 매니페스트 빌드의 값에 액세스할 수 있는 ScriptableObject입니다.
만약 UnityCloudBuildManifest.json TextAsset이 작성되지 않은 경우(JSON 형식 매니페스트문서 참조), 이 값은 Unity 클라우드 빌드가 익스포트 이전에 호출하는 옵션적인 파라미터가 됩니다.
다음의 C# 코드 예제는 매니페스트에서 제공된 buildNumber
를 기반으로 bundleVersion
의 PlayerSettings
를 업데이트하는 선처리 익스포트 메서드를 보여줍니다. 선처리 익스포트 메서드에 대한 자세한 내용은 선처리 및 후처리 메서드 페이지를 참조하십시오.
using UnityEngine;
using UnityEditor;
using System;
public class CloudBuildHelper : MonoBehaviour
{
public static void PreExport(UnityEngine.CloudBuild.BuildManifestObject manifest)
{
PlayerSettings.bundleVersion = String.Format("1.0.{0}", manifest.GetValue("buildNumber", "unknown"));
}
}
다음은 BuildManifestObject
클래스가 사용하는 퍼블릭 인터페이스입니다.
namespace UnityEngine.CloudBuild
{
public class BuildManifestObject : ScriptableObject
{
// Try to get a manifest value - returns true if key was found and could be cast to type T, otherwise returns false.
public bool TryGetValue<T>(string key, out T result);
// Retrieve a manifest value or throw an exception if the given key isn't found.
public T GetValue<T>(string key);
// Set the value for a given key.
public void SetValue(string key, object value);
// Copy values from a dictionary. ToString() will be called on dictionary values before being stored.
public void SetValues(Dictionary<string, object> sourceDict);
// Remove all key/value pairs.
public void ClearValues();
// Return a dictionary that represents the current BuildManifestObject.
public Dictionary<string, object> ToDictionary();
// Return a JSON formatted string that represents the current BuildManifestObject
public string ToJson();
// Return an INI formatted string that represents the current BuildManifestObject
public override string ToString();
}
}