Unity

Addressable 활용하여 App 내부에서 업데이트 해보자

explosion149 2024. 10. 21.

HFS를 사용하여 내부에서 테스트 할 수 있습니다.

https://github.com/rejetto/hfs/

 

GitHub - rejetto/hfs: HFS is a web file server to run on your computer. Share folders or even a single file thanks to the virtua

HFS is a web file server to run on your computer. Share folders or even a single file thanks to the virtual file system. - rejetto/hfs

github.com

붉은색 박스를 클릭하여

 

해당 Zip File을 다운 받습니다.

압축 해제 해당 파일 실행

파일 공유 설정을 완료하면

Addressable을 통한 Remote 테스트를 할 수 있습니다.

 

Remote기능을 사용하는 이유는 이것을 사용해야만 Addressable을 잘 사용했다 할 수 있을 정도의 기능 활용이 가능하기 때문입니다.

 

BiltIn - 파일 내부에 포함됨

 

Remote - 외부에서 가져옴

 

BiltIn을 사용해 버리게 되면 에플리케이션 자체의 용량이 커지기때문에

다운로드 속도가 느려지고 앱스토어의 용량제한에 걸릴수 있습니다.


해당 다운로드의 오류 발생

 

결과 -

처음 다운로드시 로드 실패 발생

앱 종료후 재시작 하면 정상 작동 로드 성공

캐시값 제거 후 다시 다운로드시 로드 실패 발생

앱 종료후 재시작 하면 정상 작동 로드 성공

 

진행-

1.

다운 로드 이후 다음 씬 전환시 오류 있다 판단

디버그 이후 해당 씬과는 무관

2.

번들 다운로드 이후 Addressables 초기화 부분 문제 있다 판단

해당 부분 이전 버전과 동일 하여 무관

3.

해당 강의와 다른 부분인 버전과 밀접한 관계 있다 판단.

해당 강의와 동일한 버전 사용하고 싶었으나 해당 버전 버그로 인해 강제 업그레이드 불가피 하여 해당 버전 동일한 문제 있는지 써칭

 

해당 문제 해결 방안 

 

번들 다운로드시 헨들을 릴리즈 해줘야함

 

해결

 

Addressables.Release(DownloadHandle);

 

런타임에서 앱을 종료하지 않고 변경된 번들파일 로드시 로드 실패 문제

 

해당 문제 해결 방안

같은 번들의 버전이 달라질때 마다 내부 인터널 ID에 고유한 값을 지정하여 로드를 할때 중복으로 인한 오류를 방지합니다.

 

시간이 늦어 두서없이 정리하였지만 추가적으로 정리하지 못한 것들을 다시 정리하겠다.

 

정리해야할 Flow 는

 

준비물 Unity, HFS, Script Editor

 

Addressable의 구조와 진행형태

 

해당 기능을 사용하기 위한 코드

 

결과

 

정리

댓글

💲 추천 글