기기가 GCM에서 더 이상 메시지를 수신 할 수없는 경우 서버에 알려야합니다. 예를 들어 전화가 끊어 지거나 GCMBaseIntentService
이 사망 한 경우입니다. 이것이 가능한가?기기가 GCM에서 메시지를 수신 할 수없는 경우 수행
1
A
답변
1
GCM은 TTL에 지정된 정보를 보유합니다. GCM은 브로드 캐스트 서비스이므로 장치가 메시지를 받았는지 여부를 알 필요가 없습니다.
당신이 할 수있는 한 가지는 푸시 메시지를 추적하는 것입니다. 응용 프로그램이 시작되면 마지막 수신 메시지를 제출하여 서버로 확인하십시오.
기기가 켜져 있고 온라인 상태 인 경우에도 GCM으로부터 메시지를받을 수 있다고 보장 할 수 없습니다.
1
할 수있는 일은 앱에서 로그 아웃 할 때 서버에서 GCM 서비스 등록을 취소하는 것입니다. 따라서 서버가 푸시 알림을 기기로 보내면 기기가 수신하지 않습니다. 다시 앱에 로그인 할 때마다 장치를 서버에 다시 등록해야합니다.
당신은 다음 코드하여 GCM 서비스 등록 취소 등록 & 캔트 :
등록 :
GCMRegistrar.checkDevice(this);
GCMRegistrar.checkManifest(this);
final String regId = GCMRegistrar.getRegistrationId(this);
if (regId.equals("")) {
GCMRegistrar.register(this, SENDER_ID);
} else {
Log.v(TAG, "Already registered");
}
registerReceiver(mHandleMessageReceiver,
new IntentFilter(DISPLAY_MESSAGE_ACTION));
등록 취소 :
unregisterReceiver(mHandleMessageReceiver);
GCMRegistrar.onDestroy(this);
: 다음 코드들의 OnDestroy 방법에
쓰기 관련 검색어가 있으면 알려주세요. 이걸 너에게 도와 줘서 기뻐.
+0
onDestroy 메서드는 메시지를 수신하고 처리 할 때 호출됩니다. 그래서 너무 자주입니다. – Klaasvaak
관련 문제
- 1. RabbitMQ - 클라이언트가 메시지를 처리 할 수없는 경우 수행 할 작업
- 2. 비밀번호를 재설정 할 때 기기가 깨지는 경우
- 3. 사용자가 트위터에 메시지를 보낼 수없는 경우 어떻게해야합니까?
- 4. GMap 위성 이미지를 사용할 수없는 경우 수행 할 작업
- 5. MQTT가 메시지를 수신 할 수 없음
- 6. JQuery로 수행 할 수없는 JavaScript로 수행 할 수있는 작업은 무엇입니까?
- 7. IronPython에서 수행 할 수없는 Cpython에서 수행 할 수있는 작업은 무엇입니까?
- 8. 장치가 C2DM 메시지를 수신 할 때 소리를 재생하는 방법
- 9. 기기가 ios 인 경우 5
- 10. "com.android.music.musicservicecommand"를 수신 할 수없는 이유는 무엇입니까?
- 11. 하는 클라이언트가 큐에서 메시지를 수신
- 12. %로 수행 할 수없는 작업은 무엇입니까?
- 13. ASP.NET MVC에서 수행 할 수없는 작업
- 14. PHP 수신 이메일로 작업 수행
- 15. Android : GCM에서 동일한 알림 받기
- 16. FormCreate()에서 수행 할 수있는 작업과 수행 할 수없는 작업은 무엇입니까?
- 17. 모바일에서 메시지를 보내고 서버로 수신
- 18. 노드가 준비되어있는 경우 MPI 함수가 '수신 대기'합니다.
- 19. 프로덕션 apns에 대한 푸시 메시지를 수신 할 수 없습니다.
- 20. SQL 서버에 더 이상 연결할 수없는 경우 ObjectContext.Refresh 메서드가 SQL 서버에 연결하여 새로 고침을 수행 할 수없는 경우 어떻게됩니까?
- 21. 오류가없는 경우 수행 할 작업은 무엇입니까?
- 22. 로컬 Net :: HTTP 요청을 수행 할 수없는 이유는 무엇입니까? 내가 할 경우
- 23. Android C2DM : 기기가 꺼져있는 경우 처리 할 수있는 가장 좋은 방법은 무엇입니까
- 24. isTranslucencyCapable이 지원되지 않는 경우 수행 할 작업
- 25. TIBCO 랑데부에서 ESB 수신 메시지를 퓨즈 할 수 있습니까?
- 26. 클라이언트가 다른 클라이언트로부터 메시지를 수신 할 때 연결이 끊어졌습니다.
- 27. 서버가 처음으로 모든 메시지를 수신 할 수 없습니다.
- 28. JS 스크립트에서 Amazon SNS 메시지를 수신 할 수 있습니까?
- 29. smackx MultiUserChat API를 사용하여 채팅 메시지를 수신 할 수 없습니다.
- 30. 백그라운드에서 푸시 알림을 수신 할 때 작업 수행
답장을 보내 주셔서 감사합니다. 나는 그것이 메시지를 가지고 있다는 것을 안다. 그러나 장치가 꺼져 있으면 먼저 메시지를 보낼 수 없도록하고 싶습니다. 메시징 앱을 만들고 있는데 두 기기가 모두 켜져있을 때만 채팅하고 싶습니다. 그래서 오프라인/온라인 상태를 사용하고 있습니다. – Klaasvaak
GCM으로부터 푸시 메시지를받을 때 장치 핑을 서버로 되돌릴 수 있습니다. 그런 다음 서버 측 모니터링 핑 요청에 대한 논리가 있습니다. 그냥 생각. – RobGThai
확인. 나는 이것이 최선의 해결책이라고 생각한다. – Klaasvaak