반응형
Problem
ArgumentException: JSON parse error: Invalid value.
Bundle사이즈를 체크하는 과정에서 위 에러가 발생. (이 경우는 BOM관련 문제는 아님.)
public IEnumerator CheckBundle()
{
AsyncOperationHandle<long> downloadSize = Addressables.GetDownloadSizeAsync(assetLabel.labelString);
yield return downloadSize;
if (downloadSize.Result > 0)
{
DownloadBundle();
}
else {
LoadLoginScene();
}
}
Solution
TextDataProvider.cs
private void RequestOperation_completed(AsyncOperation op)
{
if (m_Complete)
return;
var webOp = op as UnityWebRequestAsyncOperation;
string textResult = null;
Exception exception = null;
if (webOp != null)
{
var webReq = webOp.webRequest;
if (!UnityWebRequestUtilities.RequestHasErrors(webReq, out UnityWebRequestResult uwrResult)) {
Debug.Log($"#### url: {webReq.url}");
Debug.Log($"#### text: {webReq.downloadHandler.text}");
// textResult = System.Text.Encoding.UTF8.GetString(webReq.downloadHandler.data, 3, webReq.downloadHandler.data.Length - 3);
textResult = webReq.downloadHandler.text;
}
else
exception = new RemoteProviderException($"{nameof(TextDataProvider)} : unable to load from url : {webReq.url}", m_PI.Location, uwrResult);
}
else
{
exception = new RemoteProviderException(nameof(TextDataProvider) + " unable to load from unknown url", m_PI.Location);
}
CompleteOperation(textResult, exception);
}
에러발생 부분을 코드를 따라가보면, 여기서 받는 데이터가 문제.
url로그를 찍어보면 bundle을 올린 구글 클라우드 경로가 뜬다.
첫번째로 catalog의 hash를 확인하고, 두번째로 catalog의 json확인. (실패 시 한번 더 시도)
로그찍어보면 webReq.downloadHandler.text 가 내용물 텍스트인데,
이상하게 text 내용이 HTML이다.
json이 들어와야 하는데 html이 오니까 당연히 파싱이 안되어서 에러 발생.
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="utf-8">
<meta content="width=300, initial-scale=1" name="viewport">
<meta name="google-site-verification" content="LrdTUW9psUAMbh4Ia074-BPEVmcpBxF6Gwf0MSgQXZs">
<title>로그인 - Google 계정</title>
<style>
html, body {
font-family: Arial, sans-serif;
background: #fff;
margin: 0;
padding: 0;
border: 0;
position: absolute;
// ...
번들을 Google Cloud에 올렸는데, 접속 시 로그인을 하라는 페이지인듯.
전체공개 URL로 변경한 다음 재시도 하니까 정상동작.
반응형
'Unity > Unity 이슈' 카테고리의 다른 글
Child Object 삭제 시 유의 (0) | 2022.07.11 |
---|---|
싱글톤 GameObject가 계속 늘어날 때 (0) | 2022.03.27 |
[구글로그인] DEBUG: Authentication canceled (0) | 2022.02.27 |
Exception: Reentering the Update method is not allowed. This can happen when calling WaitForCompletion on an operation while inside of a callback. (0) | 2022.02.19 |
Addressable 사용 시 Shader가 깨질 때(분홍색으로 나옴) (0) | 2022.02.14 |