如何可以自定义云引擎回报给Unity SDK的错误?
自己做的实例准备在用户注册前监测username是否被占用
云端代码 :
var query = new AV.Query (AV.User);
query.equalTo ("username", request.params.username);
query.first ().then (function (user){
if (user){
response.error ({code: 202, message: 'Username occupied.'});
}elser{
response.success ();
}
}, function (error){
response.error (error);
});
Unity 端代码
var task = AVCloud.CallFunctionAsync<Dictionary<string, object>> ("beforeSaveUser", parameters);
while (!task.isCompleted) yield return null;
if (task.IsFaulted || task.IsCanceled){
using (IEnumerator<Exception> enumerator = task.Exception.InnerExceptions.GetEnumerator ()){
if (enumerator.MoveNext ()){
Exception error = enumerator.Current;
Debug.log ((int)error.Code + " : " + error.Message) // 这里返回是 -1 : 400 Bad Request
if ((int)error.Code == 202){
MyPopUpWindow.PopMessage ("Username taken. Please choose another username.);
}
}
}
}
Debug.log ("Username available"); // 如果使用一个不重复用户名,debug会输出这句
Unity端用重复username测试,返回错误但是输出值一直是-1和400。不知道哪一步出错了。。