안녕하세요. 저희는 카카오 공유 기능 을 쓰고 있습니다. 버전은 2.21.6을 쓰고 있습니다.
ShareClient.instance.shareCustom() 을 호출하면
Fatal Exception: java.lang.IllegalArgumentException
This output can only consume primitives with ‘primitive’ tag
이라는 메시지를가 나오면서 크래시가 나오고 있습니다.
디버그시에는 그렇지 않은데 릴리즈 버전에서만 나타나고 있습니다.
혹시 어떤 현상인지 알수 있을까요??
안녕하세요
관련된 제보가 처음들어와서 아직 정확히 파악되지 않는데요, 릴리즈에서만 발생하고 있다고 말씀하신걸로 보아 난독화 관련 문제일 가능성이 있어보입니다.
가이드와 동일하게 난독화 설정이 되어있는지 확인 부탁드립니다.
추가로 앱 id도 알려주시면 감사하겠습니다.
가이드대로 했지만 문제는 똑같았습니다.
현재 문제가 나는곳은 KakaoJson.encodeToJsonObject(it) 여기 입니다.
kotlinx.serialization 관련 난독화 오류인것 같네요.
혹시 이거 관련 난독화 룰은 따로 뭐가 있을까요??
가이드 외에 추가 난독화 설정은 필요없는 것으로 알고있고, 릴리즈빌드로 이슈 재현해보려고 해도 재현되지가 않고 있습니다.
이슈 발생하는 앱 id와 구현하신 코드, 템플릿 id 말씀부탁드리겠습니다.
첨부해주신 코드 확인했을 떄 Gson().fromJson<HashMap<String, String>>(sendData, HashMap::class.java) 이 부분이 이슈의 원인일 가능성이 높아보입니다.
templateArgs 파라미터는 Map 타입으로 되어있기 때문에 json을 Gson을 통해 Map으로 변환하기보다는 mapOf("KEY1" to "VALUE1", "KEY2" to "VALUE2") 와 같은 형태로 직접 템플릿에서 사용할 인자들을 넣어주시는 것이 좋을 것 같습니다.
혹은 Gson 관련 난독화 예외처리를 적용해보시는 것도 좋을 것 같아요.