뒤끝에서 제공하는 게스트로그인을 페더레이션하는 법이 있을까요?

Backend.BMember.GuestLogin
을 사용하여 게스트로그인후 게스트로 플레이한 유저를 페더레이션 하고싶은데 방법이 제공되고있을까요?

안녕하세요.

게스트 로그인 또한 커스텀 로그인과 같은 방식이기에, 게스트 로그인 이후

ChangeCustomToFederation

해당 함수를 이용하여 Facebook, Apple, Google로 페데레이션 연동이 가능합니다.

자세한 내용은 커스텀 아이디에서 페데레이션 아이디로 변경 을 참고해주세요.

네 감사합니다.
그리고 저희 라이브중인 게임에서 유저가 로그인을 못하는 현상이 좀 있는거같은데
커스텀 로그인 후에
bool istoken = Backend.BMember.IsAccessTokenAlive().GetMessage() == “Success” ? true : false;
if (!istoken)
{
backendReturnObject = Backend.BMember.RefreshTheBackendToken();
if (backendReturnObject.IsSuccess() == true)
{
CGameManager.Instance.setGameDataInit();
}
else
{

        }
    }
    else
    {
        CGameManager.Instance.setGameDataInit();
    }

매번 토큰값을 갱신시켜주는 형태인데 뭔가 누락된 부분이 있을까요?
아니면 성공을 못하면 다시 함수를 한번 더 호출해주는 형태가 되어야할까요?

액세스토큰은 로그인이 성공했을 경우에 발생하는 것이기 때문에 로그인이 실패하였다면 토큰이 없을 것이고 리프레시를 해도 효과가 없을 것입니다.

로그인에 에러가 발생한다면 400에러일 경우 리턴 케이스에 맞게 대응하도록 하고, 408이나 502등의 에러일 경우 네트워크의 환경이 원활하지 않아 서버에서 발생하는 에러이니 조금 뒤에 다시 시도하면 원활하게 로그인 하실 수 있습니다.

액세스토큰은 로그인 이후 애드몹등의 광고를 봐서 유니티가 잠시 중단되고 다시 돌아올 때, 발급된지 24시간이 지날때 주로 만료가 되고, 만료가 될 경우 모든 함수에서 401 bad accesstoken이 발생하기 때문에, 이 때 재발급하는 것을 권장하고 있습니다.

네 감사합니다.

혹시
Backend.BMember.LoginWithTheBackendToken();

이부분을 현재 누락하고 있는 상태인데 꼭 들어가줘야하는 부분인가요? 플로우는 이렇습니다,

private void login()
{
backendReturnObject = Backend.BMember.CustomLogin(SystemInfo.deviceUniqueIdentifier, SystemInfo.deviceUniqueIdentifier, “Login”);

    if (backendReturnObject.IsSuccess() == true)
    {
        onConnectLogin(true);
    }
    else
    {
        Invoke("login", 3f);
    }
}

public void onConnectLogin(bool islogin = false)
{
onClickCloseLoginPopup();
if (Application.systemLanguage == SystemLanguage.Korean)
{
krTitle.SetActive(true);
loadingText.text = “데이터 로딩에 필요한 시간은 최대 1분입니다.”;
}
else
{
usTitle.SetActive(true);
loadingText.text = “The time required to load data is up to 1 minute”;
}

    loading.SetActive(false);
    loadingAni.SetActive(true);
    bgButton.enabled = false;
    if (islogin == true)
    {
        StartCoroutine(onLoadingTimer());
        refreshToken();
    }        
}

private void refreshToken()
{
bool istoken = Backend.BMember.IsAccessTokenAlive().GetMessage() == “Success” ? true : false;
Debug.Log(“Lim.token :” + istoken);
if (!istoken)
{
backendReturnObject = Backend.BMember.RefreshTheBackendToken();
if (backendReturnObject.IsSuccess() == true)
{
CGameManager.Instance.setGameDataInit();
}
else
{
Invoke(“refreshToken”, 3f);
}
}
else
{
CGameManager.Instance.setGameDataInit();
}
}

아뇨 Backend.BMember.LoginWithTheBackendToken();

해당 함수는 커스텀 로그인 시에 생성된 액세스토큰이 기기에 저장되는데,
이후 로그인을 할 때 CustomLogin으로 아이디와 비밀번호를 로그인할때마다 일일히 입력하는 게 아닌,
자동으로 기기에 저장된 액세스토큰의 정보를 가지고 로그인을 하는 기능입니다.

주로, 게임을 최초로 실행시킬 때는 커스텀 로그인으로 아이디를 입력하게 하여 계정을 생성하고 그 이후로는 LoginWithTheBackendToken 함수를 이용하여 아이디 입력 필요없이 자동 로그인이 되도록 설계할 수 있습니다.