Google Play에 APK 등록시 100MB를 초과하여 APK + OBB 파일로 등록했을 때 발생한 문제
처음 불러오는 씬은 정상적으로 불러올 수 있으나 다른 씬을 불러오는 게 불가능한 현상이 발생
권한 문제를 확인했으나 AndroidManifest에 추가를 해도 실패
별도의 방법으로 권한을 요청하면 OBB를 읽는 것에 성공
하지만 AndroidManifest를 추가하여 빌드할 경우 실패
Android의 보안과 관련된 사항으로 http 요청이 기본적으로 막히게 되어 있어 AndroidManifest에 android:usesCleartextTraffic 를 추가해서 처리를 하고 있어서 AndroidManifest를 반드시 포함하여 빌드해야 되는 상황
구글에 검색을 하여 찾아낸 것은 OBB를 읽을 때 AndroidManifest에 있는 unity.build-id의 값으로 검사했을 때 값이 다를 경우 OBB를 읽을 수 없으며 unity.build-id 값은 빌드할 때마다 매번 바뀐다는 내용이었다
기존에 빌드시 Plugin/Android/ 경로에 포함시키던 AndroidManifest에 해당 값이 포함되어 있어서 제거를 하고 빌드했는데 에러가 발생해서 실패하는 일이 발생
프로젝트 경로의 Temp/StagingArea/ 경로에 있는 AndroidManifest와 무언가 충돌이 일어나는 것 같은데 무슨 문제인지 몰라 검색을 하면서 삽질하다가 그냥 StagingArea 경로를 삭제하고 빌드하니 성공 및 앱을 실행했을 때 정상적으로 OBB를 읽을 수 있었다
일부 내용은 포함하여 빌드하려는 AndroidManifest에 있어야 하는 것 같다
<meta-data android:name="unityplayer.SkipPermissionsDialog" android:value="true"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
'Unity Engine' 카테고리의 다른 글
UGUI Text Typing 스크립트 (Rich Text 중첩 지원) (0) | 2020.02.21 |
---|---|
C# 람다(Lambda) : Button onClick을 반복문에서 동적 할당 시 지역 변수 참조 문제 (0) | 2019.10.10 |
UnityWebRequest: Delete Request DownloadHandler NULL (0) | 2019.08.07 |
UnityWebRequest: SetRequestHeader Cookie 문제 (0) | 2019.05.16 |
코루틴 (Coroutine): WaitForSecondsRealtime을 변수로 할당하여 사용했을 때의 문제점 (0) | 2019.05.02 |