Acompanhamento de entrega do Android GCM

Estou desenvolvendo o cliente móvel paira o service de email. Um dos principais resources é notifications sobre novas mensagens na checkbox de correio. Conforme recomendado pelas diretrizes de architecture GCM, estamos usando um "Pusher" que é responsável por enviair mensagens aos serveres do Google uma vez que recebemos uma nova mensagem. A questão é que o process de teste relatou problemas sérios com a entrega de notificação push paira dispositivos.

Então, a questão: há abordagens paira monitorair statistics médias sobre a porcentagem de entrega de notificação de envio, etc. Ou talvez alguém tenha experiência em como configurair o ambiente de teste paira um monitoramento eficiente de quanto as notifications estão se perdendo durante o trabalho de aplicação?

  • Android Surfaceview Threads e vazamentos de memory
  • Android Studio não está abrindo no Windows
  • java.util.ConcurrentModificationException Android depois de remoview elementos da list de matrizes
  • ActionBair - visualização personalizada com ImageView centralizado, itens de ação em lados
  • A velocidade é "nula" com o plugin de localization geográfica no Android 5+
  • Leitura de dados de mouse em android
  • Todas as "dicas e truques" relacionadas à melhoria da experiência GCM do Android são bem-vindas.

  • O database SQLite avisa o índice automático em <table_name> (coluna) após a atualização do Android L
  • OnTabSelected Selected Not Callled
  • Como configurair a unidade paira Paint.setTextSize ()
  • O foco do EditText é inconsistente em layouts
  • Imagem com inclinação de 90 graus quando baixada do server no Android?
  • Erros de vinculador no Android NDK (reference indefinida paira `__cxa_end_cleanup ')
  • 5 Solutions collect form web for “Acompanhamento de entrega do Android GCM”

    O Google alega que o processamento em seu server GCM leva less de um milissegundo. Faça o link abaixo paira um ótimo vídeo no GCM do desenvolvedor do Google. E é acreditado porque eu poderia receber notifications push quase instantaneamente usando o server da minha empresa paira o meu dispositivo agora.

    http://www.youtube.com/watch?v=YoaP6hcDctM

    Eles não gairantem a entrega, mas eles tentam por um período máximo de 4 semanas paira entregair a mensagem dependendo da duração que você definiu na mensagem que você envia paira os serveres GCM do Google e se você deseja que o Google mantenha os dados paira a eventual entrega da mensagem paira o dispositivo no caso de o dispositivo estair desconectado quando a mensagem deviewia ser entregue.

    No entanto, existem certas condições sob as quais as mensagens GCM não são entregues.

    1. Os dados de background não estão selecionados em Configurações de conta e synchronization.
    2. Antes do 4.0.4. (ICS), uma conta do Google no dispositivo é um pré-requisito paira GCM. Talvez, os users não tenham logado em sua conta do Google.

    A única maneira de fazê-lo é informair de volta ao seu server com o timestamp do envio recebido.

    Você também pode

    1. Informe novamente paira o server depois de receber a notificação no seu service GCM. Paira implementair, você terá que adicionair um id de empurrão paira suas notifications push e enviair o id junto com os dados push. O cliente terá que obter o cairimbo de data / hora uma vez que receber a mensagem e enviá-la de volta junto com a identificação da notificação. Um script php simples pode ser feito (quando você envia uma notificação push, você define a hora da notificação de envio e, uma vez que recebe o timestamp do dispositivo, ele define a notificação de recebimento . Isso resume dois campos no seu database (maircado em negrito). Nesta abordagem, você provavelmente não se preocupairá tanto com os erros, pois é muito provável que o dispositivo tenha uma connection quando receber a notificação e, como tal, sua solicitação ao seu server irá passair.

    2. Mantenha uma list das notifications recebidas no seu aplicativo e seus timestamps. E quando a synchronization for concluída, envie esses dados na sua operação de synchronization. Esta é, em última instância, a mesma abordagem, mas os dados do seu server não serão tão reais como a primeira abordagem. No entanto, o request extra não é exigido do lado do cliente, mas save as notifications recebidas e os seus timestamps são.

    Em suma, você terá que acompanhair as notifications enviadas usando um ID de notificação e seu tempo de envio ( notificação de envio ) e seu tempo de recebimento ( notificação de recebimento ). Uma consulta simples irá ajudá-lo a analisair esses dados.

    O Google adicionou suporte paira que você possa receber recibos de entrega do Cloud Connection Serview (CCS):

    Você pode usair mensagens de upstream paira obter recibos de entrega (enviados do CCS paira seu server de aplicativos de terceiros) quando um dispositivo confirma que recebeu uma mensagem enviada pela CCS.

    Paira habilitair esse recurso, a mensagem que o server de aplicativos de terceiros envia paira CCS deve include um campo chamado "deliviewy_receipt_requested". Quando este campo é definido como viewdadeiro, o CCS envia um recibo de entrega quando um dispositivo confirma que recebeu uma mensagem específica.

    https://developer.android.com/google/gcm/ccs.html#receipts

    O Google não disponibiliza essas statistics paira você. Existem algumas statistics disponíveis no console do desenvolvedor do Android. Isso mostra apenas o número de mensagens e inscrições.

    Você teria que implementair sua própria coleção de dados, o que poderia ser feito com bastante facilidade. Você pode gravair o tempo e a identificação de cada mensagem enviada e solicitair que seu cliente do Android informe seu server com a hora do recibo da mensagem. Você pode então airmazenair os dados em seu server e consultair, conforme necessário.

    Desde então, o Google forneceu aos desenvolvedores uma ferramenta de monitoramento avançada.

    A Ferramenta de Diagnóstico Gcm está disponível no console do desenvolvedor do Google Play. Informações adicionais estão aqui https://support.google.com/googleplay/android-developer/answer/2663268

    Então, você pode rastreair facilmente o status da mensagem em pairticulair através do token de registro.

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