我最近将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];
答案 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
});
其他所有内容,即注册,登录等都在此之后正常运作。