无法在Unity3D中的自托管Parse Server上连接和创建用户

时间:2017-02-07 17:33:32

标签: c# ios amazon-web-services unity3d parse-platform

我最近将Parse Server部署到亚马逊,当我从iOS连接和创建用户时工作正常,但当我尝试从Unity3D连接并且没有日志时也无法正常工作。 Unity有什么特定的设置吗?我错过了什么?以下是两个平台的代码;

Unity代码(不工作)

//初始化

string serverUrl = "http://myserverip.amazonaws.com:80/parse/";
ParseClient.Initialize(new ParseClient.Configuration {ApplicationId = "MYAPPID", WindowsKey = "MYCLIENTKEY", Server = serverUrl});

//用户创建

ParseUser user = new ParseUser ();
user.Username = "myname";
user.Password = "mypass";

user.SignUpAsync ().ContinueWith(t =>
{
    if (t.IsFaulted || t.IsCanceled){
        Debug.Log("Faliled" + t.IsFaulted);
    }
    else{
        Debug.Log("Success");
        var userId = ParseUser.CurrentUser.ObjectId;
        print (userId);
    }
});

iOS代码(正常工作)

//初始化

[Parse initializeWithConfiguration:[ParseClientConfiguration configurationWithBlock:^(id<ParseMutableClientConfiguration>  _Nonnull configuration) {
    configuration.applicationId = @"MYAPPID";
    configuration.clientKey = @"MYCLIENTKEY";
    configuration.server = @"http://myinstanceIP.amazonaws.com:80/parse";
    configuration.localDatastoreEnabled = YES;
}]];

//用户创建

PFUser *user = [PFUser user];
user.username = @"my name2";
user.password = @"my pass";
user.email = @"email2@example.com";
[user signUp];

1 个答案:

答案 0 :(得分:0)

您必须在调用ParseClient.Initialize之前在ParseInitializeBehaviour中设置appID和客户端密钥。这很奇怪,因为ParseClient.Initialize也需要appID和客户端密钥,但我得到了这种方式。

同时在服务器网址的末尾添加“/”。

ParseInitializeBehaviour _script = new GameObject("ParseInitializeBehaviour").AddComponent<ParseInitializeBehaviour> ();
    _script.applicationID = "APPID";
    _script.dotnetKey = "CLIENTKEY";

ParseClient.Initialize (new ParseClient.Configuration () 
{
    WindowsKey = "APPID",
    ApplicationId = "CLIENTKEY",
    Server = serverUrl
});

其他所有内容,即注册,登录等都在此之后正常运作。