Como Push Funciona

Por Matt Gaunt
Matt é um contribuinte para WebFundamentals

Antes de entrar na API, vamos olhar para empurrar de um nível mais alto, do início ao fim. Então como westep através de tópicos individuais ou API’s mais tarde, você terá uma idéia de como e por que é importante.

As três etapas-chave para implementar o push são:

  1. adicionando a lógica do lado do cliente para subscrever um usuário para empurrar (i.e., o JavaScript e UI em seu aplicativo web que registra um usuário para enviar mensagens).
  2. a chamada da API da sua aplicação de back-end que despoleta uma mensagem de push para o dispositivo do utilizador.
  3. o ficheiro JavaScript trabalhador de serviço que receberá um “evento push” quando o push chegar ao dispositivo. É neste JavaScript que você será capaz de mostrar uma notificação.vamos ver o que cada uma destas etapas implica com um pouco mais de detalhe.

    Passo 1: lado cliente

    o primeiro passo é “subscrever” um utilizador para enviar mensagens.

    subscrever um utilizador requer duas coisas., Primeiro, obter permissão do Usuário para enviar mensagens push. Em segundo lugar, obtendo um PushSubscription do navegador.

    a PushSubscription contém toda a informação que precisamos para enviar uma mensagem push para esse utilizador.Você pode” Meio que ” pensar nisto como um ID para o dispositivo desse usuário.

    isto é tudo feito em JavaScript com o PushAPI.

    Antes de subscrever um utilizador, terá de gerar um conjunto de”chaves do servidor de aplicações”, que iremos cobrir mais tarde.

    As chaves do servidor de aplicações, também conhecidas como chaves VAPID, são exclusivas do seu servidor., Eles permitem que o serviço apush saiba que servidor de Aplicação subscreveu um usuário e garantir que é o sameserver ativando as mensagens de push para esse usuário.

    Uma vez que tenha subscrito o utilizador e tenha um PushSubscription, terá de enviar oPushSubscription detalhes para a sua infra-estrutura / servidor. Em seu servidor, você vai salvar o thissubscription em uma base de dados e usá-lo para enviar uma mensagem de push para esse usuário.,

    Passo 2: Enviar uma mensagem de Push

    quando quiser enviar uma mensagem de push aos seus utilizadores, terá de fazer uma chamada de API para um serviço de push. Esta chamada API incluiria que dados enviar, para quem enviar a mensagem e anycriteria sobre como enviar a mensagem. Normalmente esta chamada API é feita a partir do seu servidor.algumas perguntas que você pode estar fazendo a si mesmo:

    • quem e o que é o serviço push?qual é o aspecto da API? É JSON, XML, outra coisa?o que pode a API fazer?,

    quem e o que é o serviço Push?

    um serviço push recebe um pedido de rede, valida – o e entrega uma mensagem push para o navegador apropriado. Se o navegador estiver offline, a mensagem fica em fila de espera até que o navegador fique on-line.

    Cada navegador pode usar qualquer serviço de push que quiser, é algo que os desenvolvedores não têm controle. Isto não é um problema porque todos os Serviços de push esperam a mesma chamada da API. Quer dizer que não tens de te importar com quem é o serviço de empurrões. Só precisas de ter a certeza que a tua API call é válida.,

    para obter o URL apropriado para desencadear uma mensagem de push (ou seja, o URL para o serviço de push) basta olhar para o endpoint valor em PushSubscription.

    abaixo está um exemplo dos valores que você vai obter a partir de uma sub-Inscrição Push:

    As chaves na assinatura serão cobertas mais tarde.

    como é a API?

    mencionei que todos os Serviços Web push esperam a mesma chamada de API. Essa API é a força da teia Protocol.It é um padrão IETF que define como você faz uma chamada API para um serviço de push.,

    A chamada API requer que certos cabeçalhos sejam definidos e os dados sejam um fluxo de bytes. Vamos olhar para bibliotecas que podem realizar esta API chamada para nós, bem como como como fazê-lo nós mesmos.o que pode a API fazer?

    a API fornece uma forma de enviar uma mensagem a um utilizador, com / sem dados, e fornece instruções de como enviar a mensagem.

    os dados que você envia com uma mensagem de push devem ser criptografados. A razão para isso é que preventa serviços push, que poderia ser qualquer um, de ser capaz de ver os dados enviados com a mensagem push., Isto é importante, uma vez que é o navegador que decide qual é o botão de serviço, que pode abrir a porta para navegadores usando um serviço de push que não é Seguro ou seguro.

    Quando você despoletar uma mensagem de push, o serviço de push receberá a chamada da API e colocará em fila a mensagem. Esta mensagem permanecerá em espera até que o dispositivo do usuário fique online e o serviço pushservice possa entregar as mensagens. As instruções que pode dar ao serviço push definem como a mensagem push está em fila de espera.

    as instruções incluem detalhes como:

    • O tempo de vida para uma mensagem push., Isto define quanto tempo uma mensagem deve ser colocada em fila de espera antes de ser removida e não entregue.

    • Define a urgência da mensagem. Isto é útil no caso de o serviço push estar a preservar a vida útil da bateria dos utilizadores apenas através da entrega de mensagens de alta prioridade.

    • dê uma mensagem push um nome “tópico” que irá substituir qualquer mensagem pendente por esta nova mensagem.,

    Passo 3: pressione o Evento no Dispositivo do Usuário

    uma Vez que já enviou uma mensagem push, o serviço de envio, irá manter a sua mensagem no seu servidor untilone dos seguintes eventos ocorre:

    1. O dispositivo vem on-line e o serviço de envio, entrega a mensagem.a mensagem expira. Se isto ocorrer, o serviço push remove a mensagem da sua fila e nunca será entregue.,

    Quando o serviço push entregar uma mensagem, o navegador irá receber a mensagem, descriptografar anydata e enviar um push evento no seu trabalhador de serviços.

    Um trabalhador de serviços é um ficheiro JavaScript “especial”. O navegador pode executar este JavaScript sem o beingopen da sua página. Ele pode até executar este JavaScript quando o navegador está fechado. Um trabalhador de serviço também hasAPI, como push, que não estão disponíveis na página web (ou seja, API que não estão disponíveis a partir de um script de trabalhador de serviço).,

    é dentro do evento ‘push’ do trabalhador de serviço que você pode executar quaisquer tarefas de fundo. Você pode fazer chamadas de análise, páginas de cache offline e mostrar notificações.

    é todo o fluxo de mensagens empurradas. Vamos analisar cada passo com mais detalhes.

    Feedback

    esta página foi útil?
    Sim
    qual foi a melhor coisa sobre esta página?
    ajudou-me a completar o(S) Meu (s) objetivo (s)
    obrigado pelo feedback. Se você tem idéias específicas sobre como melhorar esta página, por favor crie um problema.,

    teve a informação que eu precisava
    obrigado pelo feedback. Se você tem idéias específicas sobre como melhorar esta página, por favor crie um problema.

    teve informações precisas
    obrigado pelo feedback. Se você tem idéias específicas sobre como melhorar esta página, por favor crie um problema.

    foi fácil de ler
    obrigado pelo feedback. Se você tem idéias específicas sobre como melhorar esta página, por favor crie um problema.

    algo mais
    obrigado pelo feedback., Se você tem idéias específicas sobre como melhorar esta página, por favor crie um problema.

    No
    qual foi a pior coisa nesta página?
    não me ajudou a completar o(S) Meu (s) objetivo (s)
    obrigado pelo feedback. Se você tem idéias específicas sobre como melhorar esta página, por favor crie um problema.

    estava faltando informação que eu precisava
    obrigado pelo feedback. Se você tem idéias específicas sobre como melhorar esta página, por favor crie um problema.,

    teve informação imprecisa
    obrigado pelo feedback. Se você tem idéias específicas sobre como melhorar esta página, por favor crie um problema.

    foi difícil ler
    obrigado pelo feedback. Se você tem idéias específicas sobre como melhorar esta página, por favor crie um problema.

    algo mais
    obrigado pelo feedback. Se você tem idéias específicas sobre como melhorar esta página, por favor crie um problema.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *