Backend.PlayerData.UpdateMyData 대체 함수 문의

  • 프로젝트명 : 핵 앤 슬래시 키우기: 방치형 RPG

현재 비동기, 동기 모두 Backend.PlayerData.UpdateMyData를 사용중에 있습니다.
예전에 처리량 확인을 위해 사용중이였는데요.
확실하진 않지만, bro.IsSuccess() 임에도 저장이 안되는 경우를 겪은것 같습니다.

사실 더이상 처리량 확인은 필요하지 않다고 생각하고 있구요.
이 함수보다 더 좋은 성공확률 + 라이브중에 대체해도 상관없는 함수가 있다면 소개시켜주세요ㅠ

아래는 현재 제 코드입니다. 참고 부탁드립니다.

비동기 저장 - 일반적인 주기에 따른 저장(마을에 왔을때), 강화 등의 이벤트때 실행

public void Save(string caller)
    {
        Debug.LogError($"Saved by {caller}");
        Binder.DataManager.Save.LastSavedDateTime =
            Binder.TimeManager.Get_CurrentDateTime().ToString(CultureInfo.InvariantCulture);
        OnlyChangedSaveDataToParam();
        if (saveParam.Count < 1)
            return;
        SendQueue.Enqueue(Backend.PlayerData.UpdateMyData, "UserData",
            BackendHiddenResource.GameDataRowInDate.GetDecrypted(), saveParam, callback =>
            {
                if (callback.IsSuccess())
                {
                    Binder.UIManager.NetworkErrorPopupPanel.OnSaveSuccess();
                    //Debug.LogError($"{caller}({++saveCount})/{callback.GetWriteCapacity()}");
                }
                else
                    OnFailedToSave(callback.GetMessage());
            });
    }

동기 저장 - 게임 앱 종료시, 네트워크 연결이 끊겼다가 Retry로 다시 연결됨을 확인했을때 실행

public void Save_Sync(bool isFromGameQuitPanel = false)
    {
        if (!loginSuccess || string.IsNullOrEmpty(BackendHiddenResource.GameDataRowInDate))
            return;
        SaveResult res = SaveResult.NothingToSave;
        Binder.DataManager.Save.LastSavedDateTime =
            Binder.TimeManager.Get_CurrentDateTime().ToString(CultureInfo.InvariantCulture);
        OnlyChangedSaveDataToParam();
        if (saveParam.Count > 1)
        {
            BackendReturnObject bro = Backend.PlayerData.UpdateMyData("UserData",
                BackendHiddenResource.GameDataRowInDate.GetDecrypted(), saveParam);
            if (bro.IsSuccess())
            {
                res = SaveResult.Success;

                if (Binder.UIManager.NetworkErrorPopupPanel.IsOpen &&
                    Binder.UIManager.NetworkErrorPopupPanel.ErrorType == NetworkErrorType.SaveFailed_API)
                    Binder.UIManager.NetworkErrorPopupPanel.Close();
            }
            else
            {
                res = SaveResult.Failed;
            }

            Debug.LogError(res);
        }

        if (isFromGameQuitPanel)
            Binder.UIManager.GameQuitPanel.OnSaveComplete(res);
    }

안녕하세요 개발자님,
PlayerData.UpdateMyData 함수는
GameData.Update, GameData.UpdateV2 와 동일하게 작동하는 함수로 처리량을 추가로 보여주는 것 외에는 다른 차이점이 없는 함수입니다.

말씀해주신 저장 누락 상황은 보고된 바 없는 현상으로
유저 정보 및 발생 일시 등 상세한 정보를 공유해주시면 정확하게 확인하여 안내드릴 수 있도록 하겠습니다.