Latest newsPortuguês
Back to feedTecnologiaNewsMeld Editorial

Odin MaxCode em vez de uma dezena de chaves: como o PushMeld adiciona notificações onde não havia

Como o MaxCode transfere o gerenciamento de notificações push e por e-mail de sites, servidores, scripts e dispositivos para o PushMeld.

Vamos imaginar um computador doméstico que faz backup de arquivos importantes todas as noites. O resultado é registrado no log do sistema: operação concluída com sucesso ou erro ocorrido.

Na prática, tudo funciona tecnicamente. O inconveniente surge pela manhã: a pessoa precisa abrir o log manualmente e verificar o resultado. O programa não possui um aplicativo móvel, não há notificações automatizadas pelos desenvolvedores, e ninguém criaria uma infraestrutura separada apenas para essa função.

Com PushMeld, é possível adicionar uma simples solicitação a esse processo. Após a conclusão do backup, uma mensagem chegará ao telefone: cópia criada ou operação finalizada com erro. Se necessário, mesma notificação pode ser enviada por e-mail.

A base dessa ideia é o MaxCode — um código único, seguro, através do qual o PushMeld recebe todas as informações necessárias para enviar a notificação posteriormente.

Quando conheci o projeto, foi justamente o MaxCode que me pareceu a parte mais interessante. Notificações push e e-mail há muito não são novidades. Mais importante é o fato de que o programa original deixa de controlar sua entrega. Ele apenas informa o evento ao PushMeld, e todo o restante ocorre fora dele.

Antes de continuar, é importante esclarecer: o PushMeld faz parte do sistema MELD®, e a DigiMeld UG — a empresa que o desenvolve.

A fonte conhece apenas o evento

Integrações comuns de notificações rapidamente se enchem de detalhes técnicos. É preciso definir o projeto, configurar o acesso, armazenar chaves, gerenciar tokens de dispositivos, habilitar o envio de e-mails e lidar com requisitos de diferentes plataformas móveis.

O PushMeld transfere tudo isso do sistema original para um contorno gerenciável separado.

O programa de backup conhece apenas uma coisa: se a operação terminou com sucesso ou com erro. Ele transmite o MaxCode, o cabeçalho e o texto da mensagem.

Ele não precisa saber:

  • quantos dispositivos estão conectados ao projeto;

  • qual telefone está ativo atualmente;

  • por qual provedor deve passar o push;

  • se a entrega por e-mail está ativada;

  • se o usuário tem um novo smartphone;

  • se o antigo tablet foi desativado;

  • quem deve receber uma notificação específica.

Tudo isso é decidido pelo próprio PushMeld.

Na minha opinião, aqui está a principal ideia de arquitetura do projeto: o MaxCode transfere o controle das notificações de um programa onde o evento aconteceu para o sistema responsável pela entrega.

Um MaxCode em vez de múltiplas chaves

Normalmente, ao conectar um serviço externo, é preciso trabalhar com várias entidades ao mesmo tempo. Um identificador de projeto, uma chave de acesso, segredos, tokens de dispositivos e configurações específicas de provedores podem ser necessários.

O MaxCode combina tudo o que é necessário para envio em um código protegido.

Para cada projeto, é criado um MaxCode próprio. Nele estão integrados a identificação do projeto, o direito de envio e os dados que permitem ao PushMeld aplicar a configuração de entrega atual.

A sistema de envio não precisa guardar separadamente:

  • uma chave de projeto;

  • uma API-key e um segredo adicional;

  • tokens de dispositivos conectados;

  • parâmetros de cada destinatário;

  • chaves de diferentes provedores de push;

  • configurações separadas para push e e-mail.

Um MaxCode é adicionado ao programa, site ou script. Ao recebê-lo junto com a mensagem, o PushMeld reconhece automaticamente o projeto, verifica a solicitação, encontra os dispositivos conectados e escolhe os canais disponíveis.

Portanto, o MaxCode não deve ser visto apenas como mais uma chave, mas sim como uma substituição de toda a combinação comum de chaves, tokens e identificadores dispersos por um único código.

De lá, onde a notificação não é prevista

O MaxCode pode ser utilizado em qualquer sistema capaz de fazer uma requisição HTTP sozinho ou através de um pequeno script auxiliar.

Por exemplo, o PushMeld pode ser informado quando:

  • o servidor doméstico deixou de responder;

  • o backup terminou ou falhou;

  • um script próprio executou uma tarefa longa;

  • uma impressora 3D terminou a impressão;

  • um sensor detectou uma vazamento;

  • uma porta foi aberta ou um alarme acionado;

  • há uma nova informação no site;

  • o preço de um produto mudou;

  • há espaço livre para gravação;

  • um programa antigo terminou de processar um arquivo grande;

  • uma pequena loja online recebeu um novo pedido.

Cada uma dessas fontes pode não possuir seu próprio aplicativo. Alguns dispositivos só podem consultar um endereço, outros podem executar comandos personalizados, e alguns podem ser complementados com scripts de automação simples.

Isso basta para transmitir o evento ao PushMeld.

Na maior parte dos casos, a fonte não se torna um serviço de notificações independente. Ela apenas registra o evento ocorrido e envia uma mensagem com o MaxCode. Todo o restante — destinatários, dispositivos, canais e rota técnica — fica sob responsabilidade do PushMeld.

Não apenas push, mas também e-mail

O nome PushMeld está principalmente associado a notificações em smartphones, mas as possibilidades do projeto não se limitam a isso.

Para entrega, podem ser utilizados push, e-mail ou ambos, dependendo das configurações do projeto e das opções disponíveis.

Por exemplo, uma mensagem de backup bem-sucedido pode ser exibida no telefone. Um erro grave pode ser enviados também por e-mail.

A aplicação original, em ambos os casos, faz a mesma requisição com o MaxCode. Não é necessário configurar um servidor de e-mail separado, nem armazenar suas configurações ou criar um segundo script independente.

A decisão sobre os canais de entrega ocorre internamente no PushMeld. Se posteriormente o usuário adicionar um e-mail a um projeto existente, não será preciso reescrever o script de backup.

E-mail aqui não é tratado como uma campanha de mailing, mas como uma forma adicional de comunicar um evento recebido do projeto conectado.

Um projeto, uma fonte de eventos

Projetos permitem separar notificações por sua finalidade.

Um usuário comum pode criar, por exemplo:

  • HomeServer — o estado do servidor doméstico;

  • Backups — resultados do backup;

  • SmartHome — sensores e automação residencial;

  • PriceMonitor — alterações de preço;

  • Website — novas interações do site pessoal.

Cada projeto recebe seu próprio MaxCode. Assim, a automação residencial não usa a mesma chave que o monitoramento de preços ou os backups.

No aplicativo, fica imediatamente claro de onde veio a mensagem e a qual tarefa ela se refere.

Esse tipo de separação é especialmente útil quando há mais fontes. Em vez de um fluxo único, o usuário recebe várias vias independentes, cada uma com suas próprias configurações de entrega.

Um novo telefone sem necessidade de reprogramar

Um token push comum está vinculado a uma aplicação instalada em um dispositivo específico.

Se a pessoa tem dois telefones e um tablet, há vários tokens. Depois de reinstalar o aplicativo ou trocar de dispositivo, o token pode mudar ou parar de funcionar.

O MaxCode fica acima dessa camada. Ele se relaciona ao projeto, e não a um único telefone.

O usuário define quais dispositivos estão associados ao projeto e devem receber suas mensagens. Por exemplo, notificações do servidor doméstico podem ser enviadas para seu telefone e tablet pessoais, enquanto eventos do site de trabalho só vão ao smartphone profissional.

Se a pessoa compra um novo telefone ou desabilita um dispositivo antigo, o script original continua usando o mesmo MaxCode. A lista atual de destinatários é atualizada internamente no PushMeld.

O mesmo ocorre ao adicionar e-mail ou alterar outros parâmetros de entrega.

Por isso, o MaxCode não é apenas uma maneira de reduzir o número de chaves. Ele cria uma barreira entre o evento e seu destino. Tudo que vem após essa fronteira pode ser alterado sem modificar o programa fonte.

Gratuito para tarefas simples

Produtos de infraestrutura são muitas vezes ligados a sistemas corporativos, comandos de servidores e grandes volumes de dados. Dessa forma, pode parecer que o PushMeld é destinado apenas a desenvolvedores profissionais ou empresas.

Na prática, é possível começar com tarefas domésticas simples.

O próprio aplicativo é gratuito. As funcionalidades principais do MaxCode funcionam sem pagamento, dentro de limites gratuitos acessíveis. A pessoa pode criar um projeto, conectar um dispositivo e receber notificações do seu servidor, site, script ou automação doméstica.

Essa não é uma demonstração temporária que deixa de funcionar após testes. Para cenários do dia a dia, as possibilidades gratuitas podem ser suficientes.

Planos pagos são necessários quando o número de requisições aumenta, funções adicionais são exigidas ou o sistema começa a ser usado em maior escala.

Um princípio para pessoas e empresas

A mecânica do MaxCode não muda conforme o tamanho da tarefa.

O usuário recebe uma mensagem de backup concluído. Uma oficina pequena sabe que o impressor 3D terminou uma impressão longa. Uma loja online recebe um novo pedido. A equipe técnica é avisada de um erro no servidor.

Volumes e número de projetos podem variar, mas o princípio permanece o mesmo.

Imagine uma organização com três fontes de eventos:

  • Orders — novos pedidos;

  • Payments — recebimentos e reembolsos;

  • ServerStatus — erros técnicos.

Para cada uma, é criado um MaxCode separado e configurados seus dispositivos. Pedidos vão para proprietário e gerente, eventos financeiros — para o responsável financeiro, e erros técnicos — para o técnico de suporte ao servidor.

A sistema da empresa, em todos os casos, faz praticamente a mesma coisa: transmite o conteúdo do evento e o MaxCode do projeto correspondente.

Se houver mudança de funcionários, dispositivos ou canais de entrega, não é necessário reconfigurar os sistemas originais. O gerenciamento permanece no PushMeld.

APNs, FCM e HMS continuam fora do programa

Para entrega de push em diferentes dispositivos, podem ser usados APNs, FCM ou HMS. Cada provedor tem suas próprias regras, tokens e particularidades técnicas.

Normalmente, essas diferenças precisam ser consideradas no desenvolvimento do sistema de envio. Com o PushMeld, elas ficam fora do alcance do MaxCode.

O servidor doméstico, site ou script não precisa determinar qual telefone o destinatário usa ou qual infraestrutura deve passar a mensagem. Ele faz uma única requisição, e o PushMeld escolhe a rota necessária.

O MaxCode não substitui a infraestrutura da Apple, Google ou Huawei. Ele cria uma entrada única para elas.

Assim, o sistema original não precisa mudar toda vez que o usuário troca de dispositivo. Hoje, a mensagem pode ser enviada pelo FCM, amanhã pelo APNs e, futuramente, outro telefone ou e-mail podem ser adicionados ao projeto. Para o programa que gerou o evento, nada mudará.

MaxCode e chave API comum — não são a mesma coisa

A chave API comum geralmente apenas autoriza o acesso ao serviço. Após a verificação, o sistema ainda precisa informar o projeto, os destinatários e o método de entrega.

O MaxCode combina esse contexto em um único código.

Ele permite que o PushMeld reconheça o projeto, verifique a solicitação e aplique suas configurações atuais. O programa externo envia o MaxCode e o conteúdo do evento, sem gerenciar o roteamento.

A principal diferença prática é que: a chave API dá acesso à função, e o MaxCode define tudo o que envolve o contexto para essa função ser executada.

Notificação como funcionalidade plugável

Depois de entender o PushMeld, não me limitaria a chamá-lo apenas de aplicativo de notificações push.

Seria mais preciso dizer que é um método de adicionar notificações onde não havia e gerenciá-las de forma independente do programa fonte.

A fonte pode ser um servidor doméstico, um sensor, um aplicativo antigo, uma loja online, um script próprio ou um sistema interno da empresa. Se ela puder fazer uma requisição HTTP por conta própria ou via um pequeno adaptador, a evento pode ser enviado ao PushMeld.

Depois, o MaxCode estabelece a fronteira entre o evento e sua entrega. De um lado está o programa que informa o que aconteceu. Do outro — o PushMeld, que determina o projeto, dispositivos, canais e o caminho técnico.

Portanto, a maior vantagem do MaxCode é não apenas substituir várias chaves por uma, mas transferir o controle das notificações para fora do sistema original.

O telefone pode ser trocado, o e-mail pode ser adicionado, o dispositivo antigo pode ser desativado, e o caminho de entrega — alterado. O programa continuará apenas a fazer o que se espera dele: comunicar o evento.