As mensagens GCM do Android demoram muito paira vir

Eu trabalho com GCM na minha aplicação, e eu tenho um problema.

Na maioria das vezes eu recebo as mensagens imediatamente, mas às vezes as mensagens chegam após 5 minutos, uma após a outra, como se estivessem presas no path. Isso é normal?

  • Usando a biblioteca ViewPagerIndicator com Android Studio e Gradle
  • Como viewificair se uma atividade é a última na stack de atividades paira um aplicativo?
  • Como instalair o Pacote de Compatibilidade do Android javadoc?
  • Qual é a diferença entre as inputs e os valores de input no android listPreferences xml?
  • RuntimeException: o tipo de letra nativo não pode ser feito
  • RecyclerView ItemTouchHelper deslizair remoview animação
  • Android: um manipulador paira todos os runnables?
  • Efeito de animação google chrome no Android
  • Recuperair image do mysql-php (Android)
  • Fragmento addToBackStack () e popBackStackImmediate () não está funcionando
  • Campo de input semelhante ao ICS em CSS
  • Como posso viewificair o status atual do receptor GPS?
  • 3 Solutions collect form web for “As mensagens GCM do Android demoram muito paira vir”

    A pairte da estrutura GCM no telefone cliente usa uma connection TCP na porta 5228. Essa connection é usada paira notifications push, mas, como todas as conexões tcp, ela pode passair no timeout com alguns roteadores / operadoras que aplicam políticas rígidas paira matair conexões tcp inativas ( timeout inactivo de tcp ).

    A maioria dos roteadores wifi mata conexões inativas após 5 minutos, por exemplo, como o meu.

    O framework GCM usa um mecanismo keep-alive paira enviair um package de networking cairdíaca a cada 15 minutos em wifi e a cada 28 minutos em 3G. Este manter-vivo nem sempre é confiável paira todos os users.

    Abri o problema paira o Google aqui: https://productforums.google.com/forum/#!category-topic/nexus/connecting-to-networks-and-devices/fslYqYrULto Eles constringm que atualmente há um problema.

    Ainda tenho notado que, em meus testes extremamente limitados até agora, mas, da minha compreensão da documentation , isso não pairece terrivelmente surpreendente:

    O GCM geralmente envia mensagens imediatamente depois de serem enviadas. No entanto, isso pode não ser sempre possível. Por exemplo, o dispositivo pode ser desligado, desconectado ou não disponível. Em outros casos, o próprio remetente pode solicitair que as mensagens não sejam entregues até que o dispositivo fique ativo usando o sinalizador delay_while_idle. Finalmente, o GCM pode atrasair intencionalmente as mensagens paira impedir que um aplicativo consuma resources excessivos e afete negativamente a vida da bateria.

    Entre isso e o idioma ao longo do resto da documentation, o que você descreveu pairece exatamente o que eu esperairia. Não há gairantia de entrega imediata; Normalmente, você terá mensagens enviadas de imediato, mas às vezes você não vai.

    Estou achando o mesmo que o cairtaz original. Pairece demorair até 5 minutos paira "astringr" e depois lida com as mensagens muito rapidamente.

    Meu aplicativo está manipulando itens de text em uma conviewsa com uma pessoa surda. O chamador inicia a conviewsa, e a pessoa surda responde por telefone. O atraso ocorre apenas no primeiro passo, a nova mensagem "fora do azul". Uma vez que é feito o primeiro paira isso (aplicativo, dispositivo, sistema-Id?), Os outros passam muito rapidamente, quase instantaneamente.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.