coolishbee / universal-sdk-unity

The Universal SDK for Unity provides a modern way of implementing Social Login APIs.
45 stars 11 forks source link

안드로이드 애플 로그인 진행 중 이슈 #34

Closed powerhyn closed 7 months ago

powerhyn commented 8 months ago

What did you do?

안드로이드에서 애플로그인 호출 후 애플 사이트에서 로그인 하고 리다이렉트 서버에서 리다이렉트 하는 부분까지 진행 된 후에 다시 앱 화면으로 돌아온 상황에서 어두운 딤드로 화면이 깔린 상태에서 진행이 되지 않습니다. 이 때 뒤로가기 버튼을 누르면

code : 7002, message: Callback intent is null 오류가 발생하고 있습니다.

어떤 부분이 잘못되었을까요 ?

아래는 redirect 시킨 url입니다.

coolish://callback?state={my_state}&code={my_code}&id_token={my_id_token}

서버로 들어온 문자열 그대로 coolish://callback? 뒤에 이어붙였을 때 위와 같은 형태로 만들어졌습니다.

What did you expect?

Please describe what you did expect to happen.

What happened actually?

Please describe what happened actually.

Your environment?

Some information of the environment in which the issue happened. Universal SDK version, Unity version, Android version, iOS version, etc.

Screenshots or Log

coolishbee commented 8 months ago

테스트한 기기의 모델명과 android os 버전 그리고 유니티 빌드환경min level, target api level 은 어떻게 되나요? 가능하다면 테스트시 기록된 adb log 내용도 첨부가 가능하면 부탁드립니다.

데모 프로젝트로 테스트해보시고 비교해보는 것도 도움이 될 수 있습니다.

powerhyn commented 8 months ago

@coolishbee 네 데모 프로젝트에서 테스트를 해봤을 때 작동을 하길래 어떤 부분이 다른가 비교해보았는데요 Publishing Settings에서 Minify상태가 다른것을 확인해였습니다. 해당 부분을 데모 프로젝트에서도 활성화 후에 작동을 해보니까 잘 작동하던 데모 프로젝트에서도 같은 현상이 발생 하더라구요 요 부분 난독화로 인한 프로가드 설정으로 해결되는 부분이라고 생각 했었는데 데모 프로젝트 상태에서도 추가로 설정해야 하는 부분이 있을까요 ?

현재 프로가드 파일 내용은 이렇게 되어 있습니다. -keep class com.universal.sdk.unitywrapper.* { ; }

coolishbee commented 8 months ago

Minify 의 체크박스를 활성화하셨고 proguard-user.txt 에는 -keep class com.universal.sdk.unitywrapper.** { *; }로 설정하셨는데 이슈가 발생하신다는 거죠?

  1. 본인 프로젝트에서도 난독화 기능을 해제하시면 애플로그인이 정상적으로 작동되나요?
  2. 일단 redirect 시키신 url 은 맞습니다.
  3. 서버에서 리다이렉트 후에 클라이언트에서 성공이든 실패든 콜백처리가 안됐다면 adb 로 로그를 봐야할 것 같아요.
  4. 그리고 애플로그인이 모바일환경에 웹을 띄우는 방식이라 환경을 타기 때문에 테스트한 기기 정보와 android os 버전을 제공해주셔야 해요.
powerhyn commented 8 months ago

@coolishbee

  1. 네 맞습니다 난독화 해제시 제 프로젝트와 데모 프로젝트 모두에서 잘 작동 하는 상황입니다.
  2. 이 부분에 조금 애매한데요 저도 처음에 로그를 보고 문제가 무엇인지 파악해 보려고 했는데 정확히 잘 모르겠더라구요.. 혹시 몰라 로그는 아래쪽에 추가로 첨부하도록 하겠습니다.
  3. SM-G977N(안드로이드 12버전), SM-S916N(안드로이드 14 버전) 두 기기에서 테스트 진행 해보았습니다.

새해 복 많이 받으세요 !!

coolishbee commented 7 months ago

proguard-user.txt 에 -keep class io.github.coolishbee.** { *; } 를 추가해보시고 그래도 안되면 unity 버전을 메이저로 올리거나 r8 옵션으로도 한번 테스트 해보시겠어요?

새해복 많이 받으세요!^^ 감사합니다

powerhyn commented 7 months ago

-keep class io.github.coolishbee.* { ; } 추가 후 정상 작동 합니다 감사합니다 :)

coolishbee commented 7 months ago

좋은 이슈 열어주셔서 감사합니다 😄 com.universal.sdk.unitywrapper class 는 인터페이스며 io.github.coolishbee 가 실제 구현부 class 거든요.

minify 옵션 활성화시 API 호출은 되는데 OnNewIntent 가 수신을 못하는 상황이었던 거 같습니다.