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

Gcm 서드파티 서버 구현시 중복메시지 수신오류 해결하셨나요?

0 추천
구글 GCM서버로 부터 ReiId 를 받잖아요..

 그런데 단말에서 어플을 지우고 다시 설치하면 새로운 RegId가 생성됩니다.

제 폰에서 어플 3번 지웠다 깔고 실행시 발급받은 RedId입니다.

1번)

APA91bEs5nIPRGkTIAp9YRy1AUf1iTlvna2p275s4rc2mSTUin705Bq4BF-VYMzO9m4HEX90xdcA5SlfED8cEx4Yc-H83d_vU4-sXkjXa39Vxmbd3n_jTHmhvTdAGcXr1B5dOyCwT0eG8ppUCki-Y3cgXRnm_Wf2cA

2번)
APA91bFVRbfMezb_QeBI7dF5RyhZu_05T5DSGEQHPeznRRZY3ed35wh3tUPjRDkvkyMmSSZivILL_7WxAGxtTpqJXrQowdoAM7gN4AYmWpvJvP2lWovCt4MjjsQmYR7N4nYXF3AZtUoXHzNoeXsQf3wWyCijWE6FWw

3번)
APA91bGBkPaTtpUeId-ZUplw3VOYxSePCeF9YAvTVa3pXHJqDpmhHuapdVEz1v-29lFWCIHUJx_aBXuQKIVcRo31eTKBKYfLrMlSIbRQE4nzHktu5iDHCiM2lueayrivzjQ-wleXZg7nnuNbtAQBk3UkX9zEG_f9kA

원래 단말기를 지웠다 깔아도 RegId는 변하지 않는것으로 아는데 참 변화무쌍하네요....
 

제가 단말기에서 어플을 지우고 깔기를 100번하면 RegId가  한단말에

100개가 저장됩니다. 그러면 구글 GCM서버로 부터 문자수신을 100번 알림이 옵니다.

 

이걸 해결하려면

서드파티에 보낼때 단말의 IMEI값과 RegId를 보내서 이 두개의 값을 DB에 저장하면

어플을 지웠다 깔아서 새로운 ReiID를 100번,10000번 보내도 서드파디서버에서는 IMEI값과 매칭해

새로 들어온 값만 Update하면 오로지 1개의 값만 저장이 됩니다.

그러면 이런 문제가 자동해결됩니다.

다들 이렇게 해결하셨나요? 아니면 어플단에서 그냥 천번오든 만번오든 한번만 받고 나머지는 그냥 필터링

되도록 처리해셔 해결(?)하셨나요?

저는 전자처럼 IMEI값을 유저의 폰에서 추출에 보내고 싶은데, 이게 개인정보보호법에 걸려서 방통부인지

관할 부처에 서류양식을 보내서 승인을 받아야 된다고 하더라구요. ㅜㅜ승인받는데 3주라고 하네요.

 

개발자 여러분들은  어플을 지웠다 깔면 무한생성되는 RegId 의 문제 그리고 중복 수신되는 알림문제를

어떻게 해결하셨나요? ??
엔조이AD (2,610 포인트) 님이 2014년 12월 4일 질문
엔조이AD님이 2014년 12월 4일 수정

1개의 답변

+1 추천
Gcm을 regid가 배열로 발송되면 해당 regid 배열로 리턴값이 날아옵니다.

각각의 리턴값은 말씀하신 부분에 대한 정보를 포함하고 있습니다.

ex) 수신자 없음, 수신자 키값 바뀜 등

이는 java던 다른 언어던 무조건 던지게 됩니다.

java기준으로는 발송시 MulticastResult 형태로 리턴하며

해당 내용중 getResults();를 통해 List<Result>형태로 말씀하신 부분을 받을 수 있습니다.

자세한건 android gcm페이지를 참고하세요
냉동참치 (2,340 포인트) 님이 2014년 12월 5일 답변
명쾌한 답변 감사합니다^^
 오늘도 좋은하루 되세요~
...