안드로이드 사용자 정보 요청 및 사용자 정보 저장

안드로이드 개발 배우고 있는 학생입니다.

사용자 정보 요청 android 개발가이드에서 보고 잇는데

Log.d(log, "UserProfile : " + userProfile);
Log.d(log,“UserId :” +userProfile.getId());
Log.d(log,"UserState : " +userProfile.getProperty(“nickname”));
Log.d(log,"Created : " +userProfile.getProperty(“created”));
Log.d(log, "nickName : "+userProfile.getNickname());

로그에 userId는 정확히 찍히고, 4번쨰 getNickname()을 사용한 것도 정확히 찍히는데,

2,3번째 getProperty를 사용한 Log는 null값이 나오네요.

왜그런걸까요?

그리고 개발 레퍼런스에 보면

"
해당 부가정보는 설정에 의해, 필요시 앱 연결 과정에서 최초 한번만 카카오톡 또는 카카오스토리 서비스와 동기화 연동을 하게 됩니다. 사용자가 해당 정보를 카카오톡 또는 카카오스토리에서 변경하였어도 추후 변경된 데이터는 반영되지 않습니다."

라는 문구가 있습니다. 이말이, 사용자 정보에 있는 데이터들이 업데이트 되어도,

최초에 사용자가 등록한ㄴ 정보만을 반영하고, 추후에 추가된 데이터들은 업데이트되어 보여주지 않는다는 말인가요?

그렇다면, 왜 사용자 정보 저장하기 기능이 있나요?? ㅠㅠ 제발 알려주세요 감사합니다.

안녕하세요. userProfile을 얻어오는 api에는 nickname, thumbnailImagePath, profileImagePath가 넘어옵니다. 이것은 properties가 아니구요. 위에 userProdile에 있는 properties는 기본적인 위의 세가지 data들 이외에 개발자가 추가로 등록한 property들이 들어있는 값입니다. 그래서 nickname은 property와 별개로 넘어오기에 값이 있는것입니다.

또한 레퍼런스에 “해당 부가정보는 설정에 의해, 필요시 앱 연결 과정에서 최초 한번만 카카오톡 또는 카카오스토리 서비스와 동기화 연동을 하게 됩니다. 사용자가 해당 정보를 카카오톡 또는 카카오스토리에서 변경하였어도 추후 변경된 데이터는 반영되지 않습니다.” 라는 말은 최초 가입시에는 user의 정보가 없기때문에 카카오톡이나, 카카오스토리의 정보를 가져온다는 뜻이구요.

변경되지 않는다는 것은 userProfile의 정보를 업데이트 했을때 안바뀐다는 말이 아니고, 카톡이나, 카카오스토리의 정보가 바뀌어도 userProfile에는 반영되지 않는다는 뜻입니다.

https://developers.kakao.com/docs/android-reference/com/kakao/usermgmt/UserManagement.html 의 updateProfile을 하는 경우 반영이 됩니다.