如何使用 Unity3d 连接到本地解析服务器?

How to connect to a local parse-server with Unity3d?

我需要从 Parse.com 迁移到我自己的 Parse-server。我如何通过我的服务器 URL 在我的 Unity 项目上初始化 Parse SDK? Unity Editor 上唯一可编辑的变量是 ApplicationIdDotNetKey。我看到一个 .Net 示例,其中我可以在应用程序初始化时传递 serverUrl(见下文),但在 Unity 上我找不到此选项:

ParseClient.initialize(new ParseClient.Configuration {
    ApplicationId = "YOUR_APP_ID",
    ClientKey = "YOUR_APP_CLIENT_KEY",
    Server = "http://localhost:1337/parse"
});

我发现 Parse.ParseClient class 有一个内部 HostName 变量。我如何通过反射访问它?我试过了:

typeOf(ParseClient)

但是这个returns

unknown type: Parse.ParseClient

************** 解决方案 *****************

public class ParseInitializer : ParseInitializeBehaviour {
    [SerializeField] public string hostURL; 

    public override void Awake() {
        var assembly = Assembly.GetAssembly(typeof(ParseInitializeBehaviour));
        var type = assembly.GetType("Parse.ParseClient");
        var prop = type.GetProperty("HostName", BindingFlags.Static 
                            | BindingFlags.NonPublic);
        Uri uri = new Uri(hostURL;);
        prop.SetValue(type, uri, null);

        var s = (Uri)prop.GetValue(type, null);
        base.Awake();
    }

}

您引用的文档有错字。它的 ParseClient.Initialize 带有一个大写的 I。如果你有正确的 #using Parse;在您的代码中,它不应标记错误。