无法在 Unity3D 中的自托管 Parse Server 上连接和创建用户
Cannot connect and create user on self hosted Parse Server in Unity3D
我最近将 Parse Server 部署到 Amazon,当我从 iOS 连接和创建用户时它工作正常,但当我尝试从 Unity3D 连接并且没有日志时它不起作用。 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];
您必须在调用 ParseClient.Initialize 之前在 ParseInitializeBehaviour 中设置 appID 和客户端密钥。这很奇怪,因为 ParseClient.Initialize 也需要 appID 和客户端密钥,但我是这样工作的。
同时在您的服务器末尾添加“/”url。
ParseInitializeBehaviour _script = new GameObject("ParseInitializeBehaviour").AddComponent<ParseInitializeBehaviour> ();
_script.applicationID = "APPID";
_script.dotnetKey = "CLIENTKEY";
ParseClient.Initialize (new ParseClient.Configuration ()
{
WindowsKey = "APPID",
ApplicationId = "CLIENTKEY",
Server = serverUrl
});
其他一切,即注册、登录等在此之后正常工作。
我最近将 Parse Server 部署到 Amazon,当我从 iOS 连接和创建用户时它工作正常,但当我尝试从 Unity3D 连接并且没有日志时它不起作用。 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];
您必须在调用 ParseClient.Initialize 之前在 ParseInitializeBehaviour 中设置 appID 和客户端密钥。这很奇怪,因为 ParseClient.Initialize 也需要 appID 和客户端密钥,但我是这样工作的。
同时在您的服务器末尾添加“/”url。
ParseInitializeBehaviour _script = new GameObject("ParseInitializeBehaviour").AddComponent<ParseInitializeBehaviour> ();
_script.applicationID = "APPID";
_script.dotnetKey = "CLIENTKEY";
ParseClient.Initialize (new ParseClient.Configuration ()
{
WindowsKey = "APPID",
ApplicationId = "CLIENTKEY",
Server = serverUrl
});
其他一切,即注册、登录等在此之后正常工作。