![translation](https://cdn.durumis.com/common/trans.png)
Esta é uma postagem traduzida por IA.
Selecionar idioma
Texto resumido pela IA durumis
- Descobrimos como construir um sistema de notificações push em tempo real usando Deno, Supabase e Firebase Cloud Messaging (FCM).
- Você pode usar os recursos de banco de dados em tempo real do Supabase e o FCM para construir um sistema que fornece comunicação instantânea e melhor interação com o usuário.
- Este artigo descreve como configurar clientes Deno e Supabase, detectar alterações no banco de dados e enviar notificações push usando o FCM com exemplos de código reais.
Construindo um sistema de notificações push em tempo real usando Deno, Supabase e Firebase Cloud Messaging
Introdução
- A importância das notificações push em tempo real
- Introdução ao Deno, Supabase e Firebase Cloud Messaging (FCM)
Configuração do servidor usando Deno e Supabase
- Introdução ao Deno e suas características
- Configuração do cliente Supabase
- Gerenciamento de configurações seguras por meio de variáveis de ambiente
Detecção de alterações em tempo real no banco de dados
- Introdução aos recursos em tempo real do Supabase
- Definição de uma interface para detecção de alterações no banco de dados
Envio de notificações push usando o Firebase Cloud Messaging
- O papel e a importância do FCM
- Obtenção do token de acesso usando a conta de serviço do Google
- Lógica de envio de notificações push por meio do FCM a partir do servidor Deno
Conclusão
- Vantagens do sistema usando Deno, Supabase e FCM
- Contribuição para a experiência do usuário em sistemas de notificações push em tempo real
1. Introdução
Na era digital atual, notificações push em tempo real são um componente essencial para otimizar a experiência do usuário. Este artigo explora como construir um sistema de notificações push em tempo real usando Deno, Supabase e Firebase Cloud Messaging (FCM). Este artigo é voltado para desenvolvedores interessados em Deno e serviços em nuvem.
2. Configuração do servidor usando Deno e Supabase
Deno é um tempo de execução moderno para JavaScript e TypeScript, criado para superar as limitações do Node.js. Supabase é um serviço de back-end de código aberto baseado em PostgreSQL que oferece recursos de banco de dados em tempo real. Ao combinar essas duas tecnologias, você pode criar um sistema de back-end poderoso e flexível.
Exemplo de código: Configuração do cliente Supabase
import { createClient } from 'npm:@supabase/supabase-js@2'
const supabase = createClient(
Deno.env.get('SUPABASE_URL')!,
Deno.env.get('SUPABASE_SERVICE_ROLE_KEY')!
Este código demonstra como inicializar um cliente Supabase. Aqui, estamos usando a funcionalidade de variáveis de ambiente do Deno para gerenciar as informações de conexão do Supabase de forma segura.
3. Detecção de alterações em tempo real no banco de dados
Ao aproveitar a funcionalidade de Web Hook do Supabase, você pode detectar e reagir instantaneamente a alterações no banco de dados. Isso permite fornecer informações atualizadas aos usuários rapidamente.
Exemplo de código: Definição de carga útil do Webhook
interface Post {
id: string
title: string
content: string
}
interface WebhookPayload {
type: 'INSERT'
table: string
record: Post
schema: 'public'
}
// Função que envia notificações push para todos os usuários quando um novo post é adicionado à tabela posts
Deno.serve(async (req) => {
// Extrai a carga útil do webhook da solicitação.
const payload: WebhookPayload = await req.json()
console.log("payload: ", payload);
Essas interfaces são definidas para lidar com eventos de alteração de dados que ocorrem no Supabase. A interface Post define a estrutura de dados do post, e a interface WebhookPayload define a estrutura dos dados recebidos pelo webhook.
4. Envio de notificações push usando o Firebase Cloud Messaging
O FCM é um serviço poderoso que permite enviar notificações push em várias plataformas. Ao enviar notificações do servidor Deno por meio do FCM, os usuários podem receber notificações instantâneas sobre novos posts ou atualizações importantes.
Exemplo de código: Envio de notificações push por meio do FCM
import serviceAccount from '../serviceAccountKey.json' with { type: 'json' }
// Função para obter o token de acesso da conta de serviço do Google
const getAccessToken = ({
clientEmail,
privateKey,
}: {
clientEmail: string
privateKey: string
}): Promise => {
Este código demonstra como o servidor Deno usa o FCM para enviar notificações push. Aqui, estamos usando uma conta de serviço do Google para obter o token de acesso necessário para o FCM.
5. Conclusão
Usar Deno, Supabase e FCM para construir um sistema de notificações push em tempo real é muito útil no desenvolvimento web moderno. Com esse sistema, os desenvolvedores podem fornecer aos usuários entrega de informações instantânea e melhor interação. Com as tecnologias e exemplos de código apresentados neste artigo, os desenvolvedores podem obter o conhecimento e as ferramentas necessárias para construir seus próprios sistemas de notificações em tempo real.