Gostaria de saber como o sistema de notificações por push está funcionando?
Existe uma conexão TCP / IP ativa que é executada em segundo plano nos servidores do Google?
push-notifications
opc0de
fonte
fonte
Manifest
). Eu poderia imaginar algum serviço do Google fazendo o "trabalho real", e o aplicativo simplesmente registrando um "receptor". Acima descrição era mais "geral", não Android-específico, e eu tentei mantê-lo simples;)Respostas:
Sim, o Android mantém uma conexão ativa com os servidores do Google, mas não usa muita energia ou dados, porque nenhum tráfego é enviado até que algo envie uma mensagem do GCM para um aplicativo no seu telefone. Há apenas uma conexão no telefone, usada por todos os aplicativos: a instalação de um novo aplicativo que usa o GCM não adiciona carga extra.
A primeira etapa no GCM é que um servidor de terceiros (como um servidor de email) envia uma solicitação ao servidor GCM do Google. Este servidor envia a mensagem para o seu dispositivo através dessa conexão aberta. O sistema Android examina a mensagem para determinar para qual aplicativo ele é e inicia o aplicativo. O aplicativo deve ter se registrado no Android para usar o GCM e deve ter a permissão relevante. Quando o aplicativo é iniciado, ele pode criar uma notificação imediatamente com os dados da mensagem. As mensagens do GCM são muito limitadas em tamanho; portanto, o aplicativo pode abrir uma conexão normal com o servidor de terceiros para obter mais informações (por exemplo, baixar os cabeçalhos de novos emails).
A vantagem do uso de notificações por push é que os aplicativos não precisam ser executados em intervalos regulares para verificar novos dados, economizando energia e dados. A vantagem de ter um mecanismo centralizado como o GCM é que o dispositivo precisa apenas de uma conexão de rede aberta e o sistema GCM do Android é a única coisa que precisa continuar sendo executada, em vez de cada aplicativo ter que permanecer em execução em segundo plano para manter sua própria rede conexão com seu próprio servidor.
fonte
O sistema operacional Android agora está usando o GCM (Google Cloud Messaging) para o Push Notification WS. Você pode ter uma idéia melhor aqui ; ele fornecerá uma Visão geral da arquitetura sobre o serviço de notificação por push completo com seu ciclo de vida.
Espero que ajude.
fonte
Resposta tardia à pergunta antiga, mas vale a pena colocá-la.
O GCM foi descontinuado em abril de 2018 e o Google recomendou o uso do FCM, que é semelhante ao GCM.
fonte