Try using it in your preferred language.

English

  • English
  • 汉语
  • Español
  • Bahasa Indonesia
  • Português
  • Русский
  • 日本語
  • 한국어
  • Deutsch
  • Français
  • Italiano
  • Türkçe
  • Tiếng Việt
  • ไทย
  • Polski
  • Nederlands
  • हिन्दी
  • Magyar
translation

Ceci est un post traduit par IA.

Kofsitho

Construire un système de notification push en temps réel avec Supabase et FCM

Choisir la langue

  • Français
  • English
  • 汉语
  • Español
  • Bahasa Indonesia
  • Português
  • Русский
  • 日本語
  • 한국어
  • Deutsch
  • Italiano
  • Türkçe
  • Tiếng Việt
  • ไทย
  • Polski
  • Nederlands
  • हिन्दी
  • Magyar

Texte résumé par l'IA durumis

  • Nous avons appris comment construire un système de notification push en temps réel à l'aide de Deno, Supabase et Firebase Cloud Messaging (FCM).
  • En utilisant les fonctionnalités de base de données en temps réel de Supabase et FCM, vous pouvez construire un système qui fournit aux utilisateurs des informations instantanées et une meilleure interaction.
  • Cet article explique comment construire un système en utilisant des exemples de code réels, notamment la configuration du client Deno et Supabase, la détection des modifications de la base de données et l'envoi de notifications push via FCM.
Construire un système de notification push en temps réel avec Deno, Supabase et Firebase Cloud Messaging

Construire un système de notification push en temps réel avec Deno, Supabase et Firebase Cloud Messaging

Introduction

  • L'importance des notifications push en temps réel
  • Présentation de Deno, Supabase et Firebase Cloud Messaging (FCM)

Configuration du serveur à l'aide de Deno et Supabase

  • Présentation de Deno et de ses caractéristiques
  • Configuration du client Supabase
  • Gestion sécurisée des paramètres d'environnement

Détection des modifications de la base de données en temps réel

  • Présentation des fonctionnalités en temps réel de Supabase
  • Définition de l'interface pour la détection des modifications de la base de données

Envoi de notifications push à l'aide de Firebase Cloud Messaging

  • Le rôle et l'importance de FCM
  • Obtention d'un jeton d'accès à l'aide d'un compte de service Google
  • Logique d'envoi de notifications push via FCM depuis le serveur Deno

Conclusion

  • Avantages du système utilisant Deno, Supabase et FCM
  • Contribution du système de notifications push en temps réel à l'expérience utilisateur

1. Introduction

Dans l'ère numérique d'aujourd'hui, les notifications push en temps réel sont un élément essentiel pour optimiser l'expérience utilisateur. Cet article explore comment construire un système de notifications push en temps réel à l'aide de Deno, Supabase et Firebase Cloud Messaging (FCM). Cet article s'adresse aux développeurs intéressés par Deno et les services cloud.


2. Configuration du serveur à l'aide de Deno et Supabase

Deno est un runtime JavaScript et TypeScript moderne, conçu pour surmonter les limitations de Node.js. Supabase est un service backend open source basé sur PostgreSQL, qui offre des fonctionnalités de base de données en temps réel. La combinaison de ces deux technologies permet de construire un système backend puissant et flexible.


Exemple de code : Configuration du client Supabase


import { createClient } from 'npm:@supabase/supabase-js@2'
const supabase = createClient(
Deno.env.get('SUPABASE_URL')!,
Deno.env.get('SUPABASE_SERVICE_ROLE_KEY')!

Ce code montre comment initialiser le client Supabase. Il utilise la fonctionnalité de variables d'environnement de Deno pour gérer en toute sécurité les informations de connexion à Supabase.


3. Détection des modifications de la base de données en temps réel

En utilisant la fonctionnalité Web Hook de Supabase, vous pouvez détecter et réagir instantanément aux modifications apportées à la base de données. Cela vous permet de fournir aux utilisateurs les informations les plus récentes rapidement.


Exemple de code : Définition de la charge utile du webhook


interface Post {
id: string
title: string
content: string
}
interface WebhookPayload {
type: 'INSERT'
table: string
record: Post
schema: 'public'
}
// Fonction qui envoie une notification push à tous les utilisateurs lorsqu'un nouvel article est ajouté à la table posts
Deno.serve(async (req) => {
// Extraction de la charge utile du webhook à partir de la requête.
const payload: WebhookPayload = await req.json()
console.log("payload: ", payload);

Ces interfaces sont définies pour gérer les événements de modification de données qui se produisent dans Supabase. L'interface Post définit la structure des données de l'article, tandis que WebhookPayload définit la structure des données reçues du webhook.


4. Envoi de notifications push à l'aide de Firebase Cloud Messaging

FCM est un service puissant qui permet d'envoyer des notifications push sur différentes plateformes. En envoyant des notifications via FCM depuis le serveur Deno, les utilisateurs peuvent recevoir des notifications instantanées concernant de nouveaux articles ou des mises à jour importantes.


Exemple de code : Envoi de notifications push via FCM


import serviceAccount from '../serviceAccountKey.json' with { type: 'json' }
// Fonction qui obtient un jeton d'accès à partir du compte de service Google
const getAccessToken = ({
clientEmail,
privateKey,
}: {
clientEmail: string
privateKey: string
}): Promise => {

Ce code montre le processus d'envoi de notifications push par le serveur Deno à l'aide de FCM. Il utilise un compte de service Google pour obtenir le jeton d'accès requis par FCM.


5. Conclusion

L'utilisation de Deno, Supabase et FCM pour construire un système de notifications push en temps réel est très utile dans le développement Web moderne. Ce système permet aux développeurs de fournir aux utilisateurs des informations immédiates et une meilleure interaction. Les technologies et les exemples de code présentés dans cet article fourniront aux développeurs les connaissances et les outils nécessaires pour construire leur propre système de notifications en temps réel.


kofsitho
Kofsitho
Kofsitho
kofsitho
[Non-majors, Surviving as Developers] 14. Résumé des questions d'entrevue technique fréquemment posées aux développeurs débutants Guide de préparation aux entrevues techniques pour les développeurs débutants. Zone de mémoire principale, structures de données, RDBMS et NoSQL, programmation procédurale et orientée objet, surcharge et surcharge, algorithmes de remplacement de page, pro
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자

3 avril 2024

[DB] Critères de configuration du cache Ce guide pratique explique comment mettre en cache des données qui sont fréquemment lues mais rarement écrites. Il vous montre comment utiliser un APM comme DataDog pour analyser l'historique des appels de requêtes RDB et identifier les tables à mettre en
제이온
제이온
제이온
제이온
제이온

25 avril 2024

[Spring] Utilisation de @Async Découvrez comment implémenter facilement le traitement asynchrone Java en utilisant Spring @Async. L'annotation @Async vous permet de convertir les méthodes synchrones en asynchrones et d'améliorer l'efficacité grâce à la configuration du pool de threads.
제이온
제이온
제이온
제이온

25 avril 2024

Comment s'abonner au flux RSS de Durumis Découvrez comment utiliser les flux RSS pour recevoir des notifications de mise à jour des articles de blog. Nous vous aidons à configurer facilement des notifications via divers outils tels que Slack, Feedly, etc., afin que vous ne manquiez aucun nouvel
durumis official blog
durumis official blog
Icône RSS
durumis official blog
durumis official blog

8 mai 2024

[Effective Java] Évitez la création d'objets inutiles Ce guide vous explique comment réduire la création d'objets inutiles en Java. Pour les objets immuables comme String et Boolean, il est préférable d'utiliser des littéraux. Il est également conseillé de mettre en cache les instances Pattern pour les expre
제이온
제이온
제이온
제이온

28 avril 2024

[Développeur non spécialisé, survivre en tant que développeur] 16. Conseils pour créer un portfolio de développeur junior Un développeur junior (en particulier un non-spécialiste) doit clairement expliquer les services ou les fonctionnalités qu'il a développés lors de la création d'un portfolio, en plus de ses compétences techniques. Par exemple, si le projet est une « commu
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자

3 avril 2024