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を使ってリアルタイムプッシュ通知システムを構築する

言語を選択

  • 日本語
  • 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は、Node.jsの制限を克服するために作られた、最新のJavaScriptおよびTypeScriptランタイムです。 SupabaseはPostgreSQLをベースにしたオープンソースのバックエンドサービスで、リアルタイムデータベース機能を提供します。この2つの 技術を組み合わせることで、強力で柔軟なバックエンドシステムを構築できます。


コード例: 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フック機能を使えば、データベースの変更をすぐに検知して反応できます。これにより、 ユーザーに最新の情報を迅速に配信できます。


コード例: Webフックペイロードの定義


interface Post {
id: string
title: string
content: string
}
interface WebhookPayload {
type: 'INSERT'
table: string
record: Post
schema: 'public'
}
// postsテーブルに新しい投稿が追加されると、すべてのユーザーにプッシュ通知を送信する関数
Deno.serve(async (req) => {
// リクエストからWebフックペイロードを抽出します。
const payload: WebhookPayload = await req.json()
console.log("payload: ", payload);

これらのインターフェースは、Supabaseで発生するデータ変更イベントを処理するために定義されます。Postインターフェースは投稿データ 構造を、WebhookPayloadはWebフックから受信したデータの構造を定義します。


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を使ってリアルタイムプッシュ通知システムを構築することは、現代のWeb開発において非常に便利です。 このシステムを通じて、開発者はユーザーに即時の情報伝達と向上したインタラクションを提供できます。この記事で紹介した技術とコード 例を通して、開発者は独自のリアルタイム通知システムを構築するために必要な知識とツールを習得できるでしょう。


kofsitho
Kofsitho
Kofsitho
kofsitho
[非専攻、開発者として生き残る] 14. 新卒開発者がよく聞かれる技術面接内容まとめ 新卒開発者向けの技術面接準備ガイドです。メインメモリ領域、データ構造、RDBMSとNoSQL、手続き型とオブジェクト指向、 オーバーライドとオーバーロード、ページ置換アルゴリズム、プロセスとスレッド、OSI 7層、TCPとUDPなど、面接でよく登場する概念を 説明します。
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자

2024年4月3日

ドゥルミス RSS を購読する方法 ブログ記事の更新通知を受け取るために、RSS フィードを使用する方法を紹介します。Slack、Feedly などのさまざまなツールを使用して、通知を 簡単に設定し、新しい記事を見逃さないようにします。
durumis official blog
durumis official blog
RSS アイコン
durumis official blog
durumis official blog

2024年5月8日

ウェブ開発、SEO、そして開発者の役割に関するブログ これは、私がそのブログの内容に対する理解に基づいて書いた抜粋です。 Devapenseo Webianのブログは、ウェブ開発、SEO、そして検索エンジンにとって効果的かつ最適化されたサイトを構築するにおける開発者の役割について論じています。 ブロ
Devapenseo Webian
Devapenseo Webian
devapenseo webian
Devapenseo Webian
Devapenseo Webian

2024年2月23日

[DB] キャッシュを設定する基準 頻繁に読み込まれるが、書き込みはほとんど行われないデータをキャッシュする方法に関する実務ガイドです。データドックなどのAPMを活用してRDBのクエリ 呼び出し履歴を分析し、クエリが多いが更新クエリが少ないテーブルをキャッシュ対象として選択する方法を紹介します。
제이온
제이온
제이온
제이온
제이온

2024年4月25日

[Spring] @Async の使用方法 Spring @Async を使用して Java 非同期処理を簡単に実装する方法について説明します。@Async アノテーションを使用することで、同期メソッドを非同期に変換し、スレッドプール設定で効率性を向上させることができます。Future、ListenableFuture、 CompletableFuture を活用して非同期処理結果を効果的に管理する方法についても説明しています。
제이온
제이온
제이온
제이온

2024年4月25日

Redis 7.4 - ライセンスポリシーの変更 Redisは、メモリーベースのデータベースであり、高速と容易なデータ処理が強みです。最近、ライセンスポリシーを変更し、Redis製品を ホスティングするクラウドサービスプロバイダーは、ライセンス契約を締結する必要があります。一般的な開発者は、Redis Community Editionを通じて 無料で使用できます。
해리슨 블로그
해리슨 블로그
해리슨 블로그
해리슨 블로그

2024年3月21日