마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

GCM registrationID 관련한 간단한 질문입니다.

0 추천
안녕하세요.

GCM 레지스터 아이디를 받아와서 서드파트 DB에 저장을 시키는데요.

ID 발급 - > 서버에 같은 아이디가 있는지 비교 - > 없으면 저장

이런 순인데.. 같은 핸드폰 기기인데 registrationID가 어떨때는 변하고 어떨때는 변하지 않아서 같은 핸드폰

의 registrationID가 변경될때마다 계속 저장이 됩니다. 맨처음 발급 받은 하나만 저장이 되면 되는 것 아닌가요?

만약 변경된 registrationID가 저장이 안되어 있으면 푸시가 안가나요?ㅠㅠ

헷갈리네요..^^:;
익명사용자 님이 2014년 5월 12일 질문

2개의 답변

+1 추천
제가 만든 앱은 버젼업을 해서 계속 업데이트 배포를 해도 변경이 안되던데요.

아마 기억에 같은 버젼인데 소스코드에 큰 변경이 있거나? 디버그모드로 깔린앱과 apk로 배포한앱일때

아이디값이 달라졌던 기억이 얼핏나네요

 

저장이 안되어 있으면 당연히 푸시가 안갑니다.
한림의별 (600 포인트) 님이 2014년 5월 13일 답변
+1 추천
제가 해본 결과는 이렇습니다.

1. 과거 ID 등록

2. 기기초기화

3. 새ID 등록

의 과정을 거쳐 전송테스트를 해봤는데 과거 ID가 다른 디바이스(그게 누가 사용하는 어떤기기일지는 모르지만 나의 과거ID와 같은 ID값이 부여된 기기)가 생기기 전까지는 과거ID로도 전송이 가능했습니다.
 
계속 저장되는 부분은 저같은 경우는 그 이외에 다른값을 하나 더 가지고 비교값을 사용하여 중복값을 제거했습니다.
 ----
생각해보니 GCM 리턴배열에 중복여부, 발송실패 여부가 날아오네요. 이부분은 GCM메뉴얼에도 명시되어 있으니 그부분을 통해 중복값을 처리하시면 될거같습니다.
냉동참치 (2,340 포인트) 님이 2014년 5월 13일 답변
냉동참치님이 2014년 5월 15일 수정
...