뒤끝 펑션 관련 질문입니다.

고객님의 문의에 답변하는 직원은 고객 여러분의 가족 중 한 사람일 수 있습니다.
고객의 언어폭력(비하, 조롱, 욕설, 협박, 성희롱 등)으로부터 직원을 보호하기 위해
관련 법에 따라 수사기관에 필요한 조치를 요구할 수 있으며, 형법에 의해 처벌 대상이 될 수 있습니다.

커뮤니티 이용 정책에 위배되는 게시물을 작성할 경우, 별도 안내 없이 게시물 삭제 또는 커뮤니티 이용이 제한될 수 있습니다.

문의 응대 : 평일 오전 10시 ~ 오후 6시
문의를 남기실 경우 다음 항목을 작성해 주세요.
정보가 부족하거나 응대시간 외 문의하는 경우 확인 및 답변이 지연될 수 있습니다.

  • 뒤끝 SDK 버전 : 5.11.4
  • 프로젝트명 : Magongki
  • 스테이터스 코드 : 200
  • 에러 코드 : 없음
  • 에러 메시지 : 없음

뒤끝 펑션에서 디버깅할때는 유저데이터에 업데이트가 잘 되는것으로 보여지나,
실제 유니티 프로젝트에서는 적용이 되지 않는 문제가 있습니다.
Function Auth Key도 제대로 적용하였습니다.
어떤 문제가 있을까요?

private void CheckAndResetDailyMission()
{
Param param = new Param();
param.Add(“value”, “HelloWorld”);

 Backend.BFunc.InvokeFunction(functionName, param, (callback) =>
 {
     if (callback.IsSuccess())
     {
         Debug.Log("클라우드 함수 호출 성공: " + callback.GetReturnValuetoJSON().ToString());
         Debug.Log("응답 상태 코드: " + callback.GetStatusCode());
         Debug.Log("응답 메시지: " + callback.GetMessage());
         Debug.Log("응답 데이터: " + callback.GetReturnValue());
     }
     else
     {
         Debug.LogError("클라우드 함수 호출 실패: " + callback.GetErrorCode() + " / " + callback.GetMessage());
     }
 });

}

다음 호출 코드입니다.

해결했습니다. 감사합니다.

좋아요 1


해당부분에서 이런 오류가 뜨는데 이유를 알 수 있을까요?

System.AggregateException: One or more errors occurred. (Specified cast is not valid.)
—> System.InvalidCastException: Specified cast is not valid.
at ujZPXkFjQ8EAFvhLgjQ.Le5MJuFwL6QWFZkuA0x.cvVF6nYfyO(Object )
at ujZPXkFjQ8EAFvhLgjQ.Le5MJuFwL6QWFZkuA0x.WriteJson(JsonWriter , Object , JsonSerializer )
at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeConvertable(JsonWriter writer, JsonConverter converter, Object value, JsonContract contract, JsonContainerContract collectionContract, JsonProperty containerProperty)
at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeDictionary(JsonWriter writer, IDictionary values, JsonDictionaryContract contract, JsonProperty member, JsonContainerContract collectionContract, JsonProperty containerProperty)
at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.Serialize(JsonWriter jsonWriter, Object value, Type objectType)
at Newtonsoft.Json.JsonSerializer.SerializeInternal(JsonWriter jsonWriter, Object value, Type objectType)
at Newtonsoft.Json.JsonConvert.SerializeObjectInternal(Object value, Type type, JsonSerializer jsonSerializer)
at Rjfy4bFDNuEn4JyuUc0.A3fKBcF2al1JmC5cQat.HrJFp0DrEa(String , SortedList )
at Rjfy4bFDNuEn4JyuUc0.A3fKBcF2al1JmC5cQat.tA7FcTC7Nq(String , String , SortedList )
at F2umqgF96BmK06JohOk.TMiXo4FHQFXdQvbOXoA.i9iF4X1eqe(String , iLNmwGenMkdaJ6V2kxb , SortedList )
at BackEnd.Game.GameInfo.BGameData.Insert(String tableName, Param param)
at BackendFunction.BFunc.Function(Stream stream, ILambdaContext context) in C:\Users\dkseh\source\repos\BackendFunction\BackendFunction\Function.cs:line 211
at BackendDEBUG.Program.<>c__DisplayClass2_0.b__0()
at System.Threading.Tasks.Task.InnerInvoke()
at System.Threading.Tasks.Task.<>c.<.cctor>b__272_0(Object obj)
at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
— End of stack trace from previous location —
at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)
— End of inner exception stack trace —
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
at System.Threading.Tasks.Task.Wait(TimeSpan timeout)
at BackendDEBUG.Program.Main(String[] args)

에러 코드입니다.


이렇게 데이터를 저장할때 해결되는것을 확인했습니다.
이유가 있을까요?

확인 시 내부적으로 부동소수점 형식을 double 데이터 형식으로 변환하는데
param에 추가된 데이터가 float이면 double 변환에 오류가 있어서 발생하는 문제로 확인됩니다.

베이스 SDK는 다음 업데이트를 통해 수정이 이루어질 예정이나,
뒤끝펑션의 경우 현재 다음 업데이트 일정을 정확히 안내드리기 어려움이 있습니다.

번거로우시겠지만 뒤끝 펑션의 수정 업데이트 이전까지는
param에 float값을 추가할 때, 미리 double 값으로 변환하여 이용해 주시면 감사하겠습니다.
불편을 드려 죄송합니다.