![translation](https://cdn.durumis.com/common/trans.png)
นี่คือโพสต์ที่แปลด้วย AI
สร้างระบบแจ้งเตือนแบบเรียลไทม์โดยใช้ Supabase และ FCM
- ภาษาที่เขียน: ภาษาเกาหลี
- •
-
ประเทศอ้างอิง: ทุกประเทศ
- •
- เทคโนโลยีสารสนเทศ
เลือกภาษา
สรุปโดย AI ของ durumis
- เราได้เรียนรู้วิธีสร้างระบบแจ้งเตือนแบบเรียลไทม์โดยใช้ Deno, Supabase และ Firebase Cloud Messaging (FCM)
- คุณสามารถสร้างระบบที่ให้ข้อมูลแก่ผู้ใช้ได้ทันทีและปรับปรุงการมีส่วนร่วมโดยใช้ฟังก์ชันฐานข้อมูลแบบเรียลไทม์ของ Supabase และ FCM
- บทความนี้อธิบายวิธีการสร้างระบบโดยใช้ตัวอย่างรหัสจริง รวมถึงการตั้งค่าไคลเอ็นต์ Deno และ Supabase การตรวจจับการเปลี่ยนแปลงของฐานข้อมูล และการส่งการแจ้งเตือนแบบพุชผ่าน FCM
สร้างระบบแจ้งเตือนแบบเรียลไทม์โดยใช้ Deno, Supabase และ Firebase Cloud Messaging
บทนำ
- ความสำคัญของการแจ้งเตือนแบบพุชแบบเรียลไทม์
- แนะนำ Deno, Supabase และ Firebase Cloud Messaging (FCM)
การตั้งค่าเซิร์ฟเวอร์โดยใช้ Deno และ Supabase
- แนะนำ Deno และคุณสมบัติ
- การตั้งค่าไคลเอ็นต์ Supabase
- การจัดการการตั้งค่าที่ปลอดภัยโดยใช้ตัวแปรสภาพแวดล้อม
การตรวจจับการเปลี่ยนแปลงฐานข้อมูลแบบเรียลไทม์
- แนะนำฟีเจอร์เรียลไทม์ของ Supabase
- การกำหนดอินเทอร์เฟซสำหรับการตรวจจับการเปลี่ยนแปลงฐานข้อมูล
การส่งการแจ้งเตือนแบบพุชโดยใช้ Firebase Cloud Messaging
- บทบาทและความสำคัญของ FCM
- รับโทเค็นการเข้าถึงโดยใช้บัญชีบริการของ Google
- ตรรกะการส่งการแจ้งเตือนแบบพุชผ่าน FCM จากเซิร์ฟเวอร์ Deno
สรุป
- ข้อดีของระบบที่ใช้ 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. การตรวจจับการเปลี่ยนแปลงฐานข้อมูลแบบเรียลไทม์
โดยใช้ฟีเจอร์ Web Hook ของ Supabase คุณสามารถตรวจจับและตอบสนองต่อการเปลี่ยนแปลงในฐานข้อมูลได้ทันที สิ่งนี้ช่วยให้คุณสามารถส่งข้อมูลล่าสุดไปยังผู้ใช้ได้อย่างรวดเร็ว
ตัวอย่างโค้ด: การกำหนดเพย์โหลดของ Web Hook
interface Post {
id: string
title: string
content: string
}
interface WebhookPayload {
type: 'INSERT'
table: string
record: Post
schema: 'public'
}
// ฟังก์ชันที่ส่งการแจ้งเตือนแบบพุชไปยังผู้ใช้ทั้งหมดเมื่อมีการเพิ่มโพสต์ใหม่ในตารางโพสต์
Deno.serve(async (req) => {
// ดึงเพย์โหลด Web Hook จากคำขอ
const payload: WebhookPayload = await req.json()
console.log("payload: ", payload);
อินเทอร์เฟซเหล่านี้ถูกกำหนดเพื่อจัดการเหตุการณ์การเปลี่ยนแปลงข้อมูลที่เกิดขึ้นใน Supabase อินเทอร์เฟซ Post กำหนดโครงสร้างข้อมูลโพสต์และ WebhookPayload กำหนดโครงสร้างของข้อมูลที่ได้รับจาก Web Hook
4. การส่งการแจ้งเตือนแบบพุชโดยใช้ Firebase Cloud Messaging
FCM เป็นบริการที่ทรงพลังที่ช่วยให้คุณสามารถส่งการแจ้งเตือนแบบพุชไปยังแพลตฟอร์มต่างๆ โดยการส่งการแจ้งเตือนผ่าน FCM จากเซิร์ฟเวอร์ Deno ผู้ใช้จะได้รับการแจ้งเตือนเกี่ยวกับโพสต์ใหม่หรือการอัปเดตที่สำคัญได้ทันที
ตัวอย่างโค้ด: การส่งการแจ้งเตือนแบบพุชผ่าน 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 มีประโยชน์มากในด้านการพัฒนาเว็บสมัยใหม่ ระบบนี้ช่วยให้นักพัฒนาสามารถส่งข้อมูลไปยังผู้ใช้ได้ทันทีและปรับปรุงการโต้ตอบ ผ่านเทคโนโลยีและตัวอย่างโค้ดที่นำเสนอในบทความนี้ นักพัฒนาสามารถรับความรู้และเครื่องมือที่จำเป็นในการสร้างระบบการแจ้งเตือนแบบเรียลไทม์ของตนเอง