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

这是AI翻译的帖子。

Kofsitho

使用 Supabase 和 FCM 建立实时推送通知系统

  • 写作语言: 韓国語
  • 基准国家: 所有国家 country-flag

选择语言

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

durumis AI 总结的文章

  • 本文介绍了如何使用 Deno、Supabase 和 Firebase Cloud Messaging (FCM) 建立实时推送通知系统。
  • 可以使用 Supabase 的实时数据库功能和 FCM 为用户建立一个提供即时信息传递和增强交互的系统。
  • 本文将通过实际代码示例,介绍如何建立系统,包括设置 Deno 和 Supabase 客户端、检测数据库更改以及通过 FCM 发送推送通知。
使用 Deno、Supabase 和 Firebase Cloud Messaging 建立实时推送通知系统

使用 Deno、Supabase 和 Firebase Cloud Messaging 建立实时推送通知系统

序言

  • 實時推送通知的重要性
  • 介紹 Deno、Supabase 和 Firebase Cloud Messaging (FCM)

使用 Deno 和 Supabase 設定伺服器

  • Deno 簡介及其特點
  • 設定 Supabase 客戶端
  • 通過環境變數安全地管理設定

實時偵測資料庫變更

  • 介紹 Supabase 的實時功能
  • 定義偵測資料庫變更的介面

使用 Firebase Cloud Messaging 發送推送通知

  • FCM 的作用和重要性
  • 使用 Google 服務帳戶獲取存取權杖
  • Deno 伺服器中使用 FCM 發送推送通知的邏輯

結論

  • 使用 Deno、Supabase 和 FCM 的系統優點
  • 實時推送通知系統對使用者體驗的貢獻

1. 序言

在當今的數位時代,實時推送通知是提升使用者體驗的關鍵因素。本文將探討如何使用 Deno、Supabase 和 Firebase Cloud Messaging (FCM) 建立實時推送通知系統。本文面向對 Deno 和雲服務感興趣的開發人員。


2. 使用 Deno 和 Supabase 設定伺服器

Deno 是一個現代化的 JavaScript 和 TypeScript 執行時環境,旨在克服 Node.js 的限制。 Supabase 是一個基於 PostgreSQL 的開源後端服務,提供實時資料庫功能。結合這兩種技術,可以建立強大且靈活的後端系統。


程式碼範例:設定 Supabase 客戶端


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

這段程式碼展示了如何初始化 Supabase 客戶端。這裡使用 Deno 的環境變數功能,安全地管理 Supabase 連線資訊。


3. 實時偵測資料庫變更

利用 Supabase 的 Web Hook 功能,可以立即偵測資料庫的變更並做出響應。這樣可以讓使用者快速收到最新資訊。


程式碼範例:定義 Webhook 載荷


interface Post {
id: string
title: string
content: string
}
interface WebhookPayload {
type: 'INSERT'
table: string
record: Post
schema: 'public'
}
// 當 posts 表格新增新文章時,向所有使用者發送推送通知的函數
Deno.serve(async (req) => {
// 從請求中提取 Webhook 載荷。
const payload: WebhookPayload = await req.json()
console.log("payload: ", payload);

這些介面用於處理 Supabase 中發生的資料變更事件。Post 介面定義了文章資料結構,WebhookPayload 定義了從 Webhook 接收到的資料結構。


4. 使用 Firebase Cloud Messaging 發送推送通知

FCM 是一個強大的服務,可以跨多個平台發送推送通知。從 Deno 伺服器使用 FCM 發送通知,使用者可以立即收到新文章或重要更新的通知。


程式碼範例:使用 FCM 發送推送通知


import serviceAccount from '../serviceAccountKey.json' with { type: 'json' }
// 從 Google 服務帳戶獲取存取權杖的函數
const getAccessToken = ({
clientEmail,
privateKey,
}: {
clientEmail: string
privateKey: string
}): Promise => {

這段程式碼展示了 Deno 伺服器使用 FCM 發送推送通知的過程。這裡使用 Google 服務帳戶獲取 FCM 所需的存取權杖。


5. 結論

使用 Deno、Supabase 和 FCM 建立實時推送通知系統,在現代網頁開發中非常有用。通過這個系統,開發人員可以向使用者提供即時資訊傳遞和更佳的互動體驗。本文介紹的技術和程式碼範例,將幫助開發人員獲得建立自己的實時通知系統所需的知識和工具。


kofsitho
Kofsitho
Kofsitho
kofsitho
[非计算机专业,如何成为一名开发者] 14. 新手开发者常问的技术面试内容总结 本指南旨在为新手开发者提供技术面试准备指导。涵盖了面试中常见的概念,例如主内存区域、数据结构、关系型数据库 (RDBMS) 和 NoSQL、过程式编程和面向对象编程、重写和重载、页面替换算法、进程和线程、OSI 七层模型、TCP 和 UDP 等。
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자

2024年4月3日

如何訂閱 Durumis 的 RSS 瞭解如何使用 RSS Feed 來接收部落格文章更新通知。我們將說明如何使用 Slack、Feedly 等各種工具輕鬆設定通知, 避免錯過任何新文章。
durumis official blog
durumis official blog
RSS 圖示
durumis official blog
durumis official blog

2024年5月8日

[DB] 設定快取的標準 這是一份關於如何快取經常被讀取但很少被寫入的數據的實務指南。它將說明如何利用 APM(例如 DataDog)分析 RDB 查詢呼叫記錄,並選擇查詢次數多但更新次數少的表格作為快取目標。
제이온
제이온
제이온
제이온
제이온

2024年4月25日

[Java] Synchronized Collection vs Concurrent Collection 在 Java 中,当在多线程环境中使用集合时,本文比较分析了各种解决同步问题的方法及其优缺点。 分析了 Vector、Hashtable、Collections.synchronizedXXX 等同步集合和 CopyOnWriteArrayList、 ConcurrentHashMap、ConcurrentLinkedQueue 等并发集合的特点和性能差异,以及各自的最佳使用场景。
제이온
제이온
제이온
제이온

2024年4月25日

关于网页开发、SEO 和开发者角色的博客 以下是我根据我对博客内容的理解所写的摘要: Devapenseo Webian 博客探讨网页开发、SEO 以及开发者在构建有效且针对搜索引擎进行优化的网站中的角色。 博客作者
Devapenseo Webian
Devapenseo Webian
devapenseo webian
Devapenseo Webian
Devapenseo Webian

2024年2月23日

Redis 7.4 - 授權政策變更 Redis 是一個基於記憶體的資料庫,以其速度快、數據處理簡便著稱。最近,授權政策發生了變化,託管 Redis 產品的雲服務提供商必須簽署授權協議。普通開發人員可以使用 Redis 社區版免費使用。
해리슨 블로그
해리슨 블로그
해리슨 블로그
해리슨 블로그

2024年3月21日