문의 시, 사용하시는 SDK 버전 정보와 디벨로퍼스 앱ID를 알려주세요.
Faq 목록 - 10. Android ( Faq 목록 입니다 ) 먼저 확인해주세요.
com.kakao.sdk:v2-user:2.21.3 버전부터
user.kakaoAccount?.gender 가 null로 넘어오네요
2.21.1버전은 user.kakaoAccount?.gender을 주고요
무슨 변경사항이 있나요??
문의 시, 사용하시는 SDK 버전 정보와 디벨로퍼스 앱ID를 알려주세요.
Faq 목록 - 10. Android ( Faq 목록 입니다 ) 먼저 확인해주세요.
com.kakao.sdk:v2-user:2.21.3 버전부터
user.kakaoAccount?.gender 가 null로 넘어오네요
2.21.1버전은 user.kakaoAccount?.gender을 주고요
무슨 변경사항이 있나요??
안녕하세요.
확인을 위해 앱 ID 부탁드립니다.
앱ID
https://developers.kakao.com/ 의 내 애플리케이션에 표시되는 ID 값 입니다.
숫자로된 ID 입니다
ex) 123456
ID 949514 , 어떠케어 입니다.
안녕하세요.
해당 버전에서 gender 값이 정상 전달 및 매핑되는 것을 확인하였습니다.
개인정보 동의 항목을 필수 설정 및 수집후 제공 옵션 활성화 하셨다 하더라도
이후 사용자가 해당 정보를 삭제하게되면 더 이상 제공되지 않는점 참고 부탁드립니다.
auth와 share sdk 버전을 2.21.0 > 2.21.4 로 버전업 후 gender값이 null로 내려와서 롤백 진행했습니다.
카카오톡에서 성별에 대한 동의 여부와 성별 정보 존재 여부 모두 확인했습니다.
엣지 케이스가 있는 것 같은데 확인 다시 한 번 부탁드립니다.
proguard rule 공유 가능하실까요?
SDK 버전별로 제공되는 Sample 코드에서는 재현되지 않아 문의 드립니다.
제보주신 내용 관련해서 확인된 내용 공유드립니다.
안드로이드용 카카오SDK는 2.21.2 버전부터 내부적으로 사용하는 직렬화/역직렬화 라이브러리로 kotlinx.serialization를 사용하고 있습니다.
카카오SDK에서 사용하는 kotlinx.serialization은 1.6.3 버전인데요, 이슈가 발생한 프로젝트에서 사용하는 다른 라이브러리 혹은 프로젝트 자체적으로 설정된 의존성 설정에 의해 dependency transitive가 발생해 kotlinx.serialization 1.7.0 이상 버전이 적용된 것으로 보여요. 그런데 kotlinx.serialization 1.7.0 이상부터는 kotlin 2.0.0을 사용해야하고, kotlin 2.0.0 버전부터는 k2 컴파일러가 적용되면서 kotlinx.serialization 내부 동작이 변경되어 이슈가 발생한 것으로 보입니다. (SDK 샘플앱은 dependency transitive가 발생하지 않아서 kotlinx.serialization 1.6.3 버전이 적용되어 정상 동작)
카카오SDK 내부에서 enum으로 역직렬화할 때 커스텀 KSerializer를 사용하고 있는데, 구현한 커스텀 KSerializer가 kotlinx.serialization 1.7.0 이상 버전 사용시 enum 으로 제대로 매핑하지 못하는 것을 확인했고, 1.7.0 이상 버전에서도 정상적으로 동작하도록 대응했습니다.
이슈 수정된 SDK는 내일 배포 예정이고, 배포 완료되면 다시 공유드리도록 하겠습니다.
이슈 제보주셔서 감사합니다.