2012-05-04 3 views
0

Google의 c2dm 서비스를 사용하는 Android 애플리케이션을 개발하려고 시도했습니다. 모든 데이터를 지운 후에 응용 프로그램을 시작하면 응용 프로그램에서 c2dm 메시지를 제대로 수신하지만 잠시 후 (아마도 2 분) 메시지가 도착하기를 거부합니다.잠시 후 Android 애플리케이션이 c2dm 메시지 수신을 중단합니다.

또한 서버에서 c2dm 메시지를 보낸 후받은 코드를 확인했으며 코드가 성공적으로 완료되었습니다 (오류없이 코드 번호 200).

은 스택 오버플로에 관련 게시물을 검색 후, 우리는이 게시물에 건너 온 : Why do Android C2DM push messages not always arrive? 그러나 우리는 우리가 응용 프로그램 개시 C2DM 서비스마다 등록하지 않은 것을 확인.

우리의 경우에 어떤 문제가있는 것으로 보입니까?

우리는 Android 2.2 API 8 버전을 사용합니다.

미리 감사드립니다. 마크.

답변

0

"아마도 2 분"- 먼저 확인해야합니다. 다음 사항을 명확히해야합니다.

  • 이 기기는이 기기와 관련이 있습니까?
  • 일관되게 발생합니까? 그렇지 않다면 무엇이 그것을 유발합니까?
  • 한 번 발생 했습니까? 매번 발생합니까?

C2DM 메시지가 보장되지 않는다는 점에 유의하십시오. 일부는 도착하지 않을 것입니다.

Android 기기가 c2dm을 "벗어나"일정 기간 동안 메시지를받지 못하는 경우도 있습니다. 일부 네트워크에서는 유사한 효과가 나타납니다 (예 : 일부 C2DM 메시지는 Wi-Fi 네트워크를 통해 전송되지 않으므로 3G에서도 사용해보십시오).

+0

안녕하세요. 우리는이 장치를 여러 장치 및 관리자에게 배포했습니다. 이 문제는 매번 발생하지만 임의의 시간에 시작됩니다. 즉, 때로는 1 분 30 초 후 시작되는 경우가 있습니다. 그러나이 문제는 에뮬레이터보다는 실제 장치에서 훨씬 더 일찍 시작됩니다. "일부는 도착하지 않을 것"에 관해서 - 일부 메시지는 수신되고 일부 메시지는 수신되지 않습니다. 어느 특정 시점까지 ** 모든 ** 메시지는 도착하지만 그곳으로부터 ** 하나의 메시지 **가 도착하지 않을 것입니다. – Mark268

+0

그들이 도착하지 않거나 지연되고 있다고 확신합니까? 일부 C2DM 메시지는 매우 빠르게 도착하고 다른 메시지는 잠시 기다립니다. 적어도 내 경험으로. –

+0

아마도 메시지가 도착하는지 충분한 시간을 기다리지 않았을 수 있습니다. 어쨌든 당신의 도움에 감사드립니다. – Mark268

2

Google의 C2DM은 하루에 일정한 메시지 수 제한을 항상 염두에 두어야합니다. 2 ~ 3 분 안에 많은 수의 메시지를 보내는 것이 클라이언트 문제 일 수 있다고 생각합니다.

또한 메시지가 도착할 것이라는 보장이 없음을 명심하십시오. Per Google의 C2DM 소개 : C2DM은 메시지의 배달 또는 순서를 보장하지 않습니다.하지만 이미 알고있을 것입니다.

나는 2-3 분 평균이 규칙이라면 아마도 메시지의 한계가 원인 일 수 있다고 생각합니다. 적은 수의 메시지를 보내고 간격이 커지지 않는지 확인하십시오.

관련 문제