감사합니다.
일단 해보겠습니다
감사합니다.
일단 해보겠습니다
여전히 똑같은 오류가 발생합니다.
Unity SDK Exception : java.lang.VerifyError: Verifier rejected class io.thebackend.googlelogin.BackendOnUnityCallback: void io.thebackend.googlelogin.BackendOnUnityCallback.onCreate(android.os.Bundle) failed to verify: void io.thebackend.googlelogin.BackendOnUnityCallback.onCreate(android.os.Bundle): [0x0] register v0 has type Reference: io.thebackend.googlelogin.BackendOnUnityCallback but expected Reference: android.app.Activity (declaration of ‘io.thebackend.googlelogin.BackendOnUnityCallback’ appears in /data/app/~~Bl_KY9EbE-lWh296SZlUbA==/com.gaimstudio.antcastledefense-oV8bzav8QzEWZke2NBKV6A==/base.apk!classes3.dex)
일단 다시 설명하자면
유니티에서 스마트폰으로 직접 빌드해서 로그인하는건 성공합니다.
하지만 구글 콘솔 → 내부테스트에 올린 후 다운로드 받은후에
로그인하려고하면 해당 오류가 발생합니다.
관련 내용 상세 확인하여 답변드릴 수 있도록 하겠습니다.
알겠습니다. 감사합니다.
안녕하세요 개발자님.
확인해주신 내용으로 내부 테스트에 업로드한 뒤 다운받아 테스트해본 결과, 재현에는 실패했습니다.
에러 로그를 보아 구글 로그인 플러그인 내부에 참조가 잘못되어있는 것으로 추측이 됩니다.
따라서 먼저 다음과 같이 Assets > External Dependency Manager > Android Resolver > Force Resolve를 통해 안드로이드 종속성들을 한번 정리해주신 후, 새롭게 빌드하여 테스트해주시면 감사하겠습니다.
만약 에러가 계속 발생한다면 그 외에 설정하신 gradle 혹은 AndroidManifest.xml이 문제가 될 수 있습니다.
Project Settings > Player > Android > Publish Settings에서 커스텀한 Manifest 혹은 gradle이 있는지 확인해주시면 감사하겠습니다.
안녕하세요!
Force Resolvec 로 여러번 테스트 해봤으나 같은 결과입니다
그리고 커스텀 gradle은 없고 커스텀 Manifest는 사용 중입니다.
아! 혹시 몰라서 참고로 프로젝트에서 같이 사용하는 SDK는
-파이어 베이스
-아이언소스
-앱스플라이어
입니다
한가지 더 테스트르 해봤는데
현재 개발중인 프로젝트에서 뒤끝 구글로그인을 붙이고
유니티에서 직접 빌드해서 구글 로그인을 테스트해봤는데 잘됩니다.
하지만 마찬가지로 구글 콘솔 내부테스트에 올리고 다운로드 받아서 로그인 테스트를 해봤을때
동일한 오류가 나옵니다.
테스트한 프로젝트에는 뒤끝SDK, 뒤끝 구글 로그인 SDK말고는 어떠한 SDK도 붙이지 않았으며
커스텀 Manifest를 활성화했으며, Menifest에는
<uses-permission android:name="android.permission.VIBRATE"/>
만 선언하였습니다.
안녕하세요, 개발자님.
해당 경우에는 유니티 버전 혹은 해당 버전에서 사용중인 Android SDK, NDK 가 문제가 될 것으로 추측이 됩니다.
혹시 해당 유니티 버전과 Android SDK, NDK, API Level은 어떻게 설정되었는지 공유가 가능하실까요?
유니티 버전 : 2022.3.20
SDK와 NDK는 유니티 내장 버전을 사용중입니다.
API레벨은
Minimum - 23
Target - 33
사용 중입니다
앗 참고로 최초로 오류났던 프로젝트의 유니티 버전은 2021.3.11 입니다
SDK, NDK 마찬가지로 내장 사용중이고
API레벨도 동일합니다
아직 해결방법은 없는걸까요?
조급하게 해드려서 죄송합니다.
3월1일부터 바로 적용된다기에 시급한 상황입니다. 양해 부탁드리겠습니다 ㅠㅠ
유니티 버전과 API, 권한 기능 모두 동일하게 테스트를 해보았지만 재현이 되지는 못했습니다.
상세한 확인을 위해, 이후 문의는 DM으로 진행하도록 하겠습니다.
DM은 어디서 확인할 수 있나요?
커뮤니티 오른쪽 상단 자신의 아바타 사진을 클릭하면 확인할 수 있습니다.
혹시 이 부분 해결 되셨을까요?
Google 에서
Google Play 게임즈 파트너 프로그램을 통해 특정 조건의 개발자들에게 추가적인 서비스를 제공하는 경우가 확인되며,
이 때 무결성 검사 기능을 제공해주는 것으로 확인됩니다.
이 무결성 검사를 활성화 한 경우 발생하는 오류로 확인되었으며,
만약 이 기능이 활성화 되어있다면 체크 해제후 이용해 주시면 감사하겠습니다.
관련하여서는 뒤끝에서도 상세 내용을 확인해 대응이 이루어질 수 있도록 내부에 공유하도록 하겠습니다.
안녕하세요, 라이브러리 코드를 뜯어서 확인해보니 io.thebackend.googlelogin.aar의 AndroidManifest에서 BackendOnUnityCallback가 activity로 선언되어있는데 실제 classes.jar 내부의 java 코드에서는 BackendOnUnityCallback가 단순 interface고 activity가 아니라서 생기는 문제인 것으로 보입니다.
원래 BackendOnUnityCallback를 activity로 타입 캐스팅하는 코드가 없어서 이 오류가 생길 일이 없는데, 무결성 검사를 하며 AndroidManifest와 실제 코드를 비교하는 작업이 스토어 빌드에 추가되면서 해당 이슈가 생긴 것 같네요.
해당 파일을 직접 압축해제해서 AndroidManifest 수정 후 재빌드했더니 무결성 검사를 비활성화하지 않고도 스토어 버전 구글 로그인에 성공했습니다. 다음 SDK 업데이트에서 해당 사항 참고해서 반영해주시면 감사드리겠습니다.
안녕하세요 개발자님,
관련 내용은 담당 부서로 전달하여 반영될 수 있도록 요청하겠습니다.
소중한 말씀 감사드립니다.