트랜젝션 사용후 콜백이 돌아오지 않을수 있나요?

  • 뒤끝 SDK 버전 : 5.11.1

  • 프로젝트명 : RandomDefense

  • 스테이터스 코드 :

  • 에러 코드 :

  • 에러 메시지 :

      BackEndTransaction readTran = new();
      readTran.AddGet(DB.CurrencyDB.ToString(), nameof(gold_dbItem.uuid), gold_dbItem.uuid);     
      readTran.AddGet(DB.UserInfoDB.ToString(), nameof(user_dbItem.uuid), user_dbItem.uuid);
    
    
      readTran.ProgressTransaction(
          (datas) =>
          {             
              gold_dbItem.value = JsonUtility.FromJson<CurrencyDBItem>(datas[0].ToJson()).value;
              user_dbItem.highestModeStage = JsonMapper.ToObject<UserInfoDBItem>(datas[1].ToJson()).highestModeStage;
    
              if(c2s.isClear)
              {
                  if (user_dbItem.highestModeStage[(int)GameManager.Instance.SelectedLevelMode.Level_Mode - 1] < GameManager.Instance.SelectStage.Index)
                  {
                      user_dbItem.highestModeStage[(int)GameManager.Instance.SelectedLevelMode.Level_Mode - 1] = GameManager.Instance.SelectStage.Index;
                  }
              }
          
              BackEndTransaction writeTran = new();
              writeTran.AddUpdate(DB.CurrencyDB.ToString(), nameof(gold_dbItem.uuid), gold_dbItem.uuid, nameof(gold_dbItem.value), (gold_dbItem.value + c2s.rewardGold));
              writeTran.AddUpdate(DB.UserInfoDB.ToString(), nameof(user_dbItem.uuid), user_dbItem.uuid, nameof(user_dbItem.highestModeStage), user_dbItem.highestModeStage);
        
              Action successEvent = () =>
              {
                  gold_dbItem.value += c2s.rewardGold;
              };               
    
              successEvent += _successEvent;         
              writeTran.ProgressTransaction(successEvent, _failEvent);
    
          }, _failEvent);
    

해당 코드처럼 트랜젝션을 사용하고 있습니다.
그런데 successEvent, failEvent 어떤한것도 작동되지 않습니다.
이러한 현상은 현재 라이브 중인 상황에 매우 간혈적으로 발생하고 있습니다.

해당 코드 전에 FirebaseAnalytics 로그이벤트 코드가 사용되고 있긴합니다.

  • Firebase.Analytics.FirebaseAnalytics.LogEvent(first, second, _third);

Firebase는 Auth, Analytics(Core), Messaging을 사용하고 있고 모두 11.4.0 버전입니다.
디버깅시 콜백이 돌아오기 전에 해당 메세지가 30개 정도 연속적으로 반복하는것을 확인하였습니다.
rotationForOrientation, orientationSource=ActivityRecord{e21f26f u0 com.Macovill.RandomDefense/com.google.firebase.MessagingUnityPlayerActivity} t13079}

  1. 트랜젝션을 사용할시 콜백이 돌아오지 않을 가능성이 존재하나요?
  2. 파이어베이스 사용이 뒤끝 콜백에 영향을 미칠수도 있나요?

안녕하세요 개발자님,

isAsyncPoll이 true일 경우, Update에서 Backend.AsyncPoll()이 호출되지 않으면 응답이 오지 않을 수 있습니다.(요청 후, Update문이 작동하지 않는 경우)
모든 응답은 에러코드 혹은 성공코드와 함께 리턴이 됩니다. 다만 네트워크 환경으로 인해 서버와의 연결이 불안정할 경우, 응답까지 40~100초가 걸리는 경우도 발생합니다. (와이파이가 약한 곳, 데이터 통신과 와이파이 전환 과정 등)
파이어베이스 사용은 무관한 점 참고해 주시면 감사하겠습니다.