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

Đây là bài viết được dịch bởi AI.

Kofsitho

Xây dựng hệ thống thông báo đẩy thời gian thực bằng Supabase và FCM

  • Ngôn ngữ viết: Tiếng Hàn Quốc
  • Quốc gia cơ sở: Tất cả các quốc gia country-flag

Chọn ngôn ngữ

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

Văn bản được tóm tắt bởi AI durumis

  • Chúng ta đã tìm hiểu cách xây dựng hệ thống thông báo đẩy thời gian thực bằng cách sử dụng Deno, Supabase và Firebase Cloud Messaging (FCM).
  • Với chức năng cơ sở dữ liệu thời gian thực của Supabase và FCM, bạn có thể xây dựng một hệ thống cung cấp thông tin tức thời cho người dùng và cải thiện tương tác.
  • Bài viết này minh họa cách xây dựng hệ thống bằng các ví dụ mã thực tế, bao gồm cấu hình máy khách Deno và Supabase, phát hiện thay đổi cơ sở dữ liệu và gửi thông báo đẩy thông qua FCM.
Xây dựng hệ thống thông báo đẩy thời gian thực bằng Deno, Supabase và Firebase Cloud Messaging

Xây dựng hệ thống thông báo đẩy thời gian thực bằng Deno, Supabase và Firebase Cloud Messaging

Giới thiệu

  • Tầm quan trọng của thông báo đẩy thời gian thực
  • Giới thiệu về Deno, Supabase và Firebase Cloud Messaging (FCM)

Thiết lập máy chủ bằng Deno và Supabase

  • Giới thiệu về Deno và các tính năng của nó
  • Thiết lập máy khách Supabase
  • Quản lý cấu hình an toàn thông qua biến môi trường

Phát hiện thay đổi cơ sở dữ liệu thời gian thực

  • Giới thiệu về chức năng thời gian thực của Supabase
  • Định nghĩa giao diện để phát hiện thay đổi cơ sở dữ liệu

Gửi thông báo đẩy bằng Firebase Cloud Messaging

  • Vai trò và tầm quan trọng của FCM
  • Nhận mã thông báo truy cập bằng tài khoản dịch vụ Google
  • Logic gửi thông báo đẩy từ máy chủ Deno qua FCM

Kết luận

  • Ưu điểm của hệ thống sử dụng Deno, Supabase và FCM
  • Sự đóng góp của hệ thống thông báo đẩy thời gian thực cho trải nghiệm người dùng

1. Giới thiệu

Trong kỷ nguyên kỹ thuật số ngày nay, thông báo đẩy thời gian thực là yếu tố cốt lõi để tối ưu hóa trải nghiệm người dùng. Bài viết này sẽ khám phá cách xây dựng hệ thống thông báo đẩy thời gian thực bằng cách sử dụng Deno, Supabase và Firebase Cloud Messaging (FCM). Bài viết này dành cho các nhà phát triển quan tâm đến Deno và các dịch vụ đám mây.


2. Thiết lập máy chủ bằng Deno và Supabase

Deno là một thời gian chạy JavaScript và TypeScript hiện đại, được tạo ra để khắc phục các hạn chế của Node.js. Supabase là một dịch vụ backend mã nguồn mở dựa trên PostgreSQL, cung cấp chức năng cơ sở dữ liệu thời gian thực. Kết hợp hai công nghệ này, bạn có thể xây dựng một hệ thống backend mạnh mẽ và linh hoạt.


Ví dụ mã: Thiết lập máy khách Supabase


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

Mã này cho thấy cách khởi tạo máy khách Supabase. Ở đây, chúng ta sử dụng chức năng biến môi trường của Deno để quản lý an toàn thông tin kết nối Supabase.


3. Phát hiện thay đổi cơ sở dữ liệu thời gian thực

Bằng cách sử dụng chức năng Web Hook của Supabase, bạn có thể phát hiện và phản hồi ngay lập tức các thay đổi trong cơ sở dữ liệu. Điều này cho phép bạn cung cấp cho người dùng thông tin cập nhật một cách nhanh chóng.


Ví dụ mã: Định nghĩa tải trọng web hook


interface Post {
id: string
title: string
content: string
}
interface WebhookPayload {
type: 'INSERT'
table: string
record: Post
schema: 'public'
}
// Hàm gửi thông báo đẩy đến tất cả người dùng khi bài viết mới được thêm vào bảng posts
Deno.serve(async (req) => {
// Trích xuất tải trọng web hook từ yêu cầu.
const payload: WebhookPayload = await req.json()
console.log("payload: ", payload);

Các giao diện này được định nghĩa để xử lý các sự kiện thay đổi dữ liệu xảy ra trong Supabase. Giao diện Post định nghĩa cấu trúc dữ liệu bài viết, trong khi WebhookPayload định nghĩa cấu trúc dữ liệu nhận được từ web hook.


4. Gửi thông báo đẩy bằng Firebase Cloud Messaging

FCM là một dịch vụ mạnh mẽ cho phép bạn gửi thông báo đẩy đến nhiều nền tảng khác nhau. Bằng cách gửi thông báo từ máy chủ Deno qua FCM, người dùng có thể nhận được thông báo ngay lập tức về bài viết mới hoặc cập nhật quan trọng.


Ví dụ mã: Gửi thông báo đẩy qua FCM


import serviceAccount from '../serviceAccountKey.json' with { type: 'json' }
// Hàm lấy mã thông báo truy cập từ tài khoản dịch vụ Google
const getAccessToken = ({
clientEmail,
privateKey,
}: {
clientEmail: string
privateKey: string
}): Promise => {

Mã này minh họa quy trình máy chủ Deno sử dụng FCM để gửi thông báo đẩy. Ở đây, chúng ta sử dụng tài khoản dịch vụ Google để lấy mã thông báo truy cập cần thiết cho FCM.


5. Kết luận

Sử dụng Deno, Supabase và FCM để xây dựng hệ thống thông báo đẩy thời gian thực rất hữu ích trong phát triển web hiện đại. Hệ thống này cho phép các nhà phát triển cung cấp thông tin tức thời cho người dùng và cải thiện tương tác. Với các công nghệ và ví dụ mã được giới thiệu trong bài viết này, các nhà phát triển có thể có được kiến thức và công cụ cần thiết để xây dựng hệ thống thông báo thời gian thực của riêng mình.


kofsitho
Kofsitho
Kofsitho
kofsitho
Mô hình hóa dữ liệu vật lý Mô hình hóa dữ liệu vật lý là quá trình thiết kế các bảng trong cơ sở dữ liệu quan hệ để có thể sử dụng thực tế, nhằm mục tiêu tối ưu hóa hiệu suất thông qua việc tối ưu hóa dung lượng lưu trữ, phân vùng dữ liệu, thiết kế chỉ mục. Việc phân tích truy vấn
제이의 블로그
제이의 블로그
제이의 블로그
제이의 블로그
제이의 블로그

9 tháng 4, 2024

Tóm tắt tài liệu AI của Laserfish: đơn giản hóa việc tiêu thụ nội dung và nâng cao năng suất Laserfish đã thêm tính năng tóm tắt tài liệu dựa trên AI thế hệ mới vào nền tảng quản lý tài liệu dựa trên đám mây của mình để giúp người dùng dễ dàng hiểu và phân tích khối lượng nội dung khổng lồ. Tính năng này góp phần nâng cao năng suất, tăng cường gi
스타트업 커뮤니티 씬디스 (SeenThis.kr)
스타트업 커뮤니티 씬디스 (SeenThis.kr)
스타트업 커뮤니티 씬디스 (SeenThis.kr)
스타트업 커뮤니티 씬디스 (SeenThis.kr)

2 tháng 5, 2024

Phát hành Flitter 1.0.0: Thư viện svg thay thế D3 Flitter là một thư viện giúp bạn dễ dàng triển khai trực quan hóa dữ liệu trong phát triển web. Cung cấp việc viết mã khai báo và tính năng tính toán bố cục nâng cao, có thể dễ dàng sử dụng trong môi trường React. Truy cập trang web tài liệu chính thức để
Meursyphus
Meursyphus
Meursyphus
Meursyphus
Meursyphus

1 tháng 5, 2024

[Không chuyên ngành, sống sót với tư cách nhà phát triển] 14. Tóm tắt nội dung phỏng vấn kỹ thuật thường gặp của nhà phát triển mới vào nghề Hướng dẫn chuẩn bị phỏng vấn kỹ thuật dành cho nhà phát triển mới vào nghề. Vùng bộ nhớ chính, cấu trúc dữ liệu, RDBMS và NoSQL, lập trình hướng thủ tục và hướng đối tượng, ghi đè và quá tải, thuật toán thay thế trang, tiến trình và luồng, OSI 7 lớp, TCP
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자

3 tháng 4, 2024

Cách đăng ký RSS của Durumis Tìm hiểu cách sử dụng feed RSS để nhận thông báo cập nhật bài viết trên blog. Chúng tôi sẽ giúp bạn thiết lập thông báo dễ dàng thông qua các công cụ đa dạng như Slack, Feedly, v.v. để bạn không bỏ lỡ bất kỳ bài viết mới nào.
durumis official blog
durumis official blog
Biểu tượng RSS
durumis official blog
durumis official blog

8 tháng 5, 2024

[DB] Tiêu chí thiết lập bộ nhớ cache Đây là hướng dẫn thực hành về cách lưu trữ bộ nhớ cache cho dữ liệu được đọc thường xuyên nhưng hiếm khi được ghi. Sử dụng APM như DataDog để phân tích lịch sử cuộc gọi truy vấn RDB và hướng dẫn bạn cách chọn bảng có nhiều truy vấn truy vấn và ít truy vấn
제이온
제이온
제이온
제이온
제이온

25 tháng 4, 2024