Version: 2020.3
JSON 形式のビルドマニフェスト
Scheduled builds

ScriptableObject としてのビルドマニフェスト

BuildManifestObject is a ScriptableObject you can use to access the values in the Build manifest via script, without needing to manually load the UnityCloudBuildManifest.json TextAsset.

It is an optional parameter to the pre-export invoked by Cloud Build, if the UnityCloudBuildManifest.json TextAsset has not been written. For more information, see Manifest as JSON.

The following example C# code demonstrates a pre-export method that updates the bundleVersion in PlayerSettings based on the buildNumber provided in the manifest. For more information on pre-export methods, see Pre- and Post-export methods.

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
    {
        // マニフェストの Value を取得しようとしています - Key が見つかり、T 型にキャスト可能ならば true、そうでない場合は false を返します。
        public bool TryGetValue<T>(string key, out T result);
        // マニフェストの Value を取得しようとしています。指定したKey が見つからなければ例外を投げます。
        public T GetValue<T>(string key);
        // 指定したKey に Value を設定します。
        public void SetValue(string key, object value);
        // 辞書から Value をコピーします。格納する前に、辞書の Value に対して ToString() が呼び出されます。
        public void SetValues(Dictionary<string, object> sourceDict);
        // すべての Key/Value を削除します。
        public void ClearValues();
        // 現在の BuildManifestObject を表す辞書を返します。
        public Dictionary<string, object> ToDictionary();
        // 現在のBuildManifestObject を表す JSON 形式の文字列を返します。 
        public string ToJson();
        // 現在のBuildManifestObject を表す INI 形式の文字列を返します。
        public override string ToString();
    }
}
JSON 形式のビルドマニフェスト
Scheduled builds