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

push, SMS 함께 사용하는 방법

0 추천
앱이 설치된 기기엔 push 메시지를, 설치되지 않은 기기엔 SMS를 보내려고 합니다.
뭐, 별문제는 없이 구현가능합니다(실제로 사용하고 있음)

push발생은 일반적이겠지만 앱 설치후 로그인시 registration-id 를 받아와서 DB에 저장하고 push 쏠때 등록된 registration-id를 타겟으로 보냅니다.
registration-id가 바뀌면 update 되구요.
메시지 보낼 건이 발생하면 registration-id 값 여부를 조사해서 있으면 push 메시지를, 없으면 SMS 메시지를 보내게 됩니다.

하지만, 앱을 삭제해버리면 DB서버에 registration-id는 남아있어 SMS로 보내야함에도 계속에서 push로 보내게 됩니다.
만약, 앱을 삭제한 시점을 알 수가 있다면 좋겠지만 불가능하다고 알고 있습니다.

 

이런경우 어떤방법으로 처리하면 좋을까요?
nagne (120 포인트) 님이 2015년 11월 5일 질문

3개의 답변

+1 추천
100% 만족할만한 해결책은 없어 보이네요. 무조건 SMS로 보내지 않는 한...

어느 정도 앱 삭제유무를 알 수 있는 방법이라면 push 보낸 것에 대한 응답입니다.(100% 확실한 방법이 아닙니다!!)

구글에 의하면 삭제된 단말에 push를 보내면 두 번째 메세지부터는 unregistered device token던가 암튼 언레지스터드로 시작하는 응답을 받는다고 합니다. 자세한 내용은 구글링으로 찾아보시길...

실제 실험해보면 첫번째 메세지에서 저런 응답을 받기도 하고, 두번째에서 받기도 하고 그렇더군요

저런 응답이 안 오는 경우도 있었던지는 잘 기억이 안납니다. 실험만 해보고 그 이후는 진행을 안했거든요

push를 보내기 전에 먼저 내용이 없는 ping 성격의 push를 보내보고, 그 응답에 따라 push를 보낼지 sms를 보낼지 결정할 수 있겠네요. 물론 ping 성격의 push를 노티피케이션에 보여주면 안되겠죠
cc1232 (35,280 포인트) 님이 2015년 11월 5일 답변
아.. 괜찮을거 같네요. 검색해보겠습니다ㅎㅎ
0 추천
다른앱의 삭제는 알 수 있으나

자기자신의 삭제는 알 방법이 없다고 하네요
익명사용자 님이 2015년 11월 5일 답변
0 추천
생각한 방법이 앱에서 매 1시간 마다 서버 api를 호출해서 "나 살아있다" 알려줍니다.
그럼 적어도 최근 한 시간 이전까지는 앱이 설치되었는지 설치안된지 알수 있지않을까요?
익명사용자 님이 2015년 11월 5일 답변
...