유니티버전 올릴 때 발생하는 오류 해결 방법

유니티 버전을 올리면 수많은 문제가 발생합니다. 대부분은 버전문제네요.
개발보다 이런 오류잡는게 너무 골치 아픕니다. 여러 상황에서 발생한 오류들을 정리해 둡니다.

IAPManager, InAppPurchaser 

아래 처럼 메세지가 나올 때, 인터페이스를 구현해 줘야 합니다.

Assets\Script\InApps\IAPManager.cs(7,42): error CS0535: 'IAPManager' does not implement interface member 'IStoreListener.OnInitializeFailed(InitializationFailureReason, string?)'

Assets\Script\InApps\InAppPurchaser.cs(5,46): error CS0535: 'InAppPurchaser' does not implement interface member 'IStoreListener.OnInitializeFailed(InitializationFailureReason, string?)'

인터페이스추가

IAPManager 나 InAppPurchaser 를 상속받아 사용하는 곳에 IAPManager, InAppPurchaser 인터페이스를 추가해 줍니다.

Google.IOSResolver

Assembly 'Assets/ExternalDependencyManager/Editor/1.2.168/Google.IOSResolver.dll' will not be loaded due to errors:

ios모듈을 추가해 주면 해결. ios빌드 안하더라도 추가해 주면 사라지네요.

Advertisement.IsReady

최근 버전 유니티ads에서는 IsReady 를 사용하지 않는다.
바로 Advertisement.Show사용. 

구현된 코드를 손대기 싫으면
패키지매니저에서 package name에 
com.unity.ads
version에 3.7.5를 입력해서 이전 버전으로 돌려줌.

[GoogleMobileAds] AndroidManifest.xml is missing

ManifestProcessor 파일의 175번줄 에러일것일텐데,
Manifest파일은 
Plugins/Android/GooglePlayGamesManifest.androidlib/AndroidManifest.xml 
경로에 생성되어 있을것입니다. 버전에 따라 GooglePlayGamesManifest.androidlib 부분이름이 다를수도 있어서 경로를 맞게 고쳐서 작성해줌.


the name 'googleplaytangle' does not exist in the current context

해결

구글플레이콘솔에서 수익창출설정>라이센스키를 복사


Services > In-App Purchasing > Receipt... 으로 들어가서

googleplaytangle

1에 라이센스 넣어주고 2 를 눌러준다.

라이센스넣기

com.google.android.gms.permission.AD_ID 권한 포함시키기

유니티 api31 이상을 이용할 때 연계해서 발생한 문제다.

AndroidManifest.xml  파일을 열고
android:exported="true"  를 넣어준다.

AndroidManifest.xml






댓글 쓰기

0 댓글