업데이트 후 이상현상이 제보되었습니다... 혹시 뒤끝 로그인과 관련된 현상인가요?

버그현상1
버그현상2

업데이트 이전에 문제 없이 잘 플레이해온 사람들인데 업데이트 후 이상현상이 여럿 접수되었습니다.
지금 유력한 원인 후보로 타겟api레벨로 보고있는데 (현재 타겟apu레벨이 28), 게임 시작 버튼을 누르면 즉시 팅긴다고 합니다.
혹시모르니 사용한 코드도 올리겠습니다.
게임 시작 버튼을 누를 때 호출되는 함수는 아래에 ★로 강조하였습니다.

using BackEnd;
using GooglePlayGames;
using GooglePlayGames.BasicApi;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
using System;

public class BackEndFederationAuth : MonoBehaviour
{
public GameObject WarnningWindow;
public GameObject WarnningWindow_Chardan;
public GameObject WarnningWindow_Bg;
public GameObject baned;
void Start()
{
PlayGamesClientConfiguration config = new PlayGamesClientConfiguration
.Builder()
.RequestServerAuthCode(false)
.RequestEmail() // 이메일 요청
.RequestIdToken() // 토큰 요청
.Build();

    //커스텀된 정보로 GPGS 초기화
    PlayGamesPlatform.InitializeInstance(config);
    PlayGamesPlatform.DebugLogEnabled = false;

    //GPGS 시작.
    PlayGamesPlatform.Activate();
    GoogleAuth();
}
void Update()
{
    if (Input.GetKey(KeyCode.Escape))
        WarnningWindow_Chardan.gameObject.SetActive(true);
}
public void SetOff()
{
    Application.Quit();
}
public string MyNameIsbla = "";
// 구글에 로그인하기
bool asds = false;
private void GoogleAuth()
{
    if (PlayGamesPlatform.Instance.localUser.authenticated == false)
    {
        Social.localUser.Authenticate(success =>
        {
            if (success == false)
            {
                asds = true;
                return;
            }

            // 로그인이 성공되었습니다.
            asds = true;
            MyNameIsbla = ((PlayGamesLocalUser)Social.localUser).Email;
          //  Invoke("OnClickGPGSLogin", 3);
        });
    }
}
// 구글 토큰 받아오기
private string GetTokens()
{
    if (PlayGamesPlatform.Instance.localUser.authenticated)
    {
        // 유저 토큰 받기 첫번째 방법
        string _IDtoken = PlayGamesPlatform.Instance.GetIdToken();
        // 두번째 방법
        // string _IDtoken = ((PlayGamesLocalUser)Social.localUser).GetIdToken();
        return _IDtoken;
        
    }
    else
    {
        if (asds)
        {
            WarnningWindow.gameObject.SetActive(true);
            WarnningWindow_Bg.gameObject.SetActive(true);
        }
        GoogleAuth();
        return null;
    }
}
public DateTime GetServerDataTime;
// 구글토큰으로 뒤끝서버 로그인하기 - 동기 방식
//★★★★
//★★★★
//게임 시작 버튼을 누르면 이 함수가 호출됨
//★★★★
//★★★★
public void OnClickGPGSLogin()
{
    BackendReturnObject BRO = Backend.BMember.AuthorizeFederation(GetTokens(), FederationType.Google, "gpgs로 만든계정");
    if (BRO.IsSuccess())
    {
        BackendReturnObject servertime = Backend.Utils.GetServerTime();
        string GetNowTime = servertime.GetReturnValuetoJSON()["utcTime"].ToString();
        GetServerDataTime = DateTime.Parse(GetNowTime);
        SceneManager.LoadScene("SampleScene");
    }
    else
    {
        switch (BRO.GetStatusCode())
        {
            case "200":
                break;

            case "403":
                {
                    baned.gameObject.SetActive(true);
                }
                break;

            default:
                {
                    Backend.Utils.GetGoogleHash();
                }
                break;
        }

    }
}

}

안녕하세요 개발자님.

코드의 내용으로 보았을 때에는 뒤끝 기능을 통해 게임이 강제 종료가 발생할 가능성은 거의 없다고 봅니다.

뒤끝 로그상으로는 로그인 시도를 할때 토큰의 값이 null로 들어가 실패하는 경우가 많으니, api level 개선 후 의심되는 상황이 없으시다면 해당 로직도 수정해주시기 바랍니다.

GetTokens()의 else 부분에서 null을 반환하여 로그인의 진행을 자제해주시고, 최초 로그인 호출 시에는 정상이여도 null이 반환되는 경우가 있으니(두번 호출때에는 정상실행), 토큰이 null일 경우에는 한번 더 호출하여(최대 2번) 토큰의 값이 존재하는지 확인 후 보내주시면 감사하겠습니다.

확인해주셔서 감사합니다! 어떤 블로그 글에서 그대로 긁어온건데 수정이 필요했군요… 다른 블로그 글도 있던것같으니 그쪽에서 확인해보겠습니다!
감사합니다!