2011-11-08 8 views
0

가능한 중복 :
Is it possible to detect Android app uninstall?등록 취소 C2DM에서 응용 프로그램 제거에

내가 위해 응용 프로그램에 C2DM 서비스를 구현하고 모든 사용자에게 메시지를 보낼 수 있습니다. Google의 c2dm 설명서에서 서비스에 앱을 등록하는 방법과 등록을 취소하는 방법에 대해 설명합니다. 그러나 응용 프로그램을 제거 할 때 어떤 이벤트도 얻을 수 없을 때 어떻게 c2dm에서 등록을 취소하겠습니까?

답변

1

문서는 말한다 :

응용 프로그램의 구현에 따라, 사용자에게 메시지를 수신 등록을 취소 할 수있는 옵션을 제공 할 수 있습니다. 응용 프로그램을 제거해도 등록 취소의 효과가 있습니다.

나는이 장치가이 처리됩니다 것을 의미합니다라고 말하고 싶지만, 그리고 당신이 그것에 대해 걱정할 필요가 없습니다 ..

편집 : 내가 잘못 했어. 이 장치는 알아서하지 않습니다 .. 참조 : Android C2DM : Duplicate message to the same device and App 솔루션은 푸시 메시지의 등록 ID를 (의 일부)를 포함하고, 기기에서 확인을 할 수있는 것처럼

보인다

+0

"응용 프로그램을 제거하면 등록 취소의 영향을받습니다.". 나는 이것에 동의하지 않는다. 응용 프로그램을 다시 설치할 때 모든 알림이 두 배가되기 때문입니다. 그리고 다시 설치 제거하거나 다시 설치하면 알림이 3 배로 증가합니다. 따라서 등록을 취소해야합니다. – AlexMok

+0

설명서에서이 부분이 무엇이라고 말합니까? C2DM 문서에서는 구체적으로 말합니다 : "등록 ID는 응용 프로그램이 명시 적으로 등록을 취소하거나 Google에서 응용 프로그램의 등록 ID를 새로 고칠 때까지 유지됩니다." http://code.google.com/android/c2dm/ –

0

Google C2DM 서비스는 제거 된 응용 프로그램을 감지 할 때 수동 모드로 작동합니다.

(C2DM에서 등록 해제하지 않고 응용 프로그램을 제거한 후 첫 번째 푸시 알림 !!!) 응답에서 오류를 반환하지 않습니다. 그러나 두 번째 푸시 알림은 응용 프로그램이 제거되었다는 것을 알 수있는 "잘못된 등록"또는 "등록되지 않은"오류 코드를 반환합니다.

이유는 C2DM 서버가 응답 코드를 즉시 반환하고 클라이언트를 밀어 넣으려고하기 때문입니다. 클라이언트가 응용 프로그램이 제거되었다고 응답하면 C2DM 서버에서 응용 프로그램이 삭제됩니다. 다음 푸시 시도는 오류 코드를 즉시 반환합니다.