スタートガイド
インストール手順と、このプラグインの完全なMarkdownガイドを含むセットアッププロンプトをコピーします。
Set up this Capacitor plugin in the project.
Use the package manager already used by the project.
Install these package(s): `@capgo/capacitor-neon`
Run the required Capacitor sync/update step after installation.
Read this markdown guide for the full setup steps: https://raw.githubusercontent.com/Cap-go/website/refs/heads/main/apps/docs/src/content/docs/docs/plugins/neon/getting-started.mdx
Use that guide for platform-specific steps, native file edits, permissions, config changes, imports, and usage setup.
If that guide references other docs pages, read them too.
インストール
「インストール」セクションAIアシストによるセットアップでプラグインをインストールできます。以下のコマンドを使用して、お使いのAIツールに Capgo のスキルを追加してください:
bunx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins次に、以下のプロンプトを使用します:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-neon` plugin in my project.手動セットアップを希望する場合は、以下のコマンドを実行してプラグインをインストールし、下記のプラットフォーム別の手順に従ってください:
bun add @capgo/capacitor-neonbunx cap syncNeonのセットアップ
「Neonのセットアップ」というセクション- 有効にする Neon Auth ブランチで(Console > Auth、または
neon neon-auth enable). - その API データ データベースヘルパーが必要な場合は、同じブランチで(Console > Data API、プロバイダーは Neon Auth)。
- 以下をコピー 認証URL と API データ URL Console から取得します。
Neon Auth は信頼できるオリジンからのリクエストのみを受け入れます。localhost はデフォルトで信頼されており、プラグインは Origin: https://localhostを送信するため、新しいブランチでも変更なしで動作します。localhost を無効にする場合は、ドメインを信頼済みドメインに追加し、 origin まで initialize().
iOSの設定
セクション「iOS のセットアップ」メールおよび OTP によるサインインには追加のセットアップは不要です。このプラグインは URLSession と Keychain を使用し、サードパーティの依存関係はありません。
OAuth の場合、 redirectTo をアプリを開く信頼できる https Universal Link に設定してください。Neon Auth はカスタム URL スキームを redirectToとして拒否します。アプリでカスタムスキームを使用している場合は、そのスキームに neon_auth_session_verifier クエリパラメータを転送する信頼できる HTTPS コールバックページをホストしてください。
Androidの設定
セクション「Android のセットアップ」メールおよび OTP によるサインインには追加のセットアップは不要です。このプラグインは Capacitor 8 のデフォルトの最低 SDK 24(Android 7.0)で動作します。
OAuth の場合、 redirectTo を信頼できる https App Link に設定してください。これはアプリを開きます。Neon Auth はカスタム URL スキームを redirectToとして拒否します。アプリでカスタム スキームを使用する場合は、 neon_auth_session_verifier クエリ パラメータをそのスキームに転送する信頼できる HTTPS コールバック ページをホストしてください。
よくある落とし穴
「よくある落とし穴」セクション- リスナー: 画面がアンマウントされたらハンドルを削除します。
- 一度だけ初期化: アプリの起動時にセットアップを実行します。
- OAuth リダイレクト: Neon Auth は信頼できるもののみを受け入れます
https〜のURLredirectTo(平文httpは信頼できる localhost でのローカルテストにのみ使用できます)。カスタム URL スキームは拒否されます。Universal Link または App Link、あるいは信頼できる HTTPS ページを使用してください。neon_auth_session_verifierクエリパラメータをアプリの URL スキームに転送します。 - 信頼できる情報源: 信頼
src/definitions.tsGitHub リポジトリ内。
クライアントの初期化
「クライアントの初期化」セクションimport { CapacitorNeon } from '@capgo/capacitor-neon';
await CapacitorNeon.initialize({ authUrl: 'https://ep-xxx.neonauth.us-east-2.aws.neon.tech/neondb/auth', dataApiUrl: 'https://ep-xxx.apirest.us-east-2.aws.neon.tech/neondb/rest/v1',});サインインと JWT の取得
「サインインと JWT の取得」セクションconst { session, user } = await CapacitorNeon.signInWithPassword({ email: 'user@example.com', password: 'password123',});
console.log('User', user?.id);console.log('JWT available', Boolean(session?.accessToken));サインアップ
「Sign Up」セクションもし サインアップ時のメール確認 がブランチで有効になっています。 signUp() ユーザーがメールに送られた code を確認するまでセッションを返しません。
import { CapacitorNeon } from '@capgo/capacitor-neon';
const { session } = await CapacitorNeon.signUp({ email: 'newuser@example.com', password: 'password123', name: 'John Doe',});
if (!session) { await CapacitorNeon.verifyOtp({ email: 'newuser@example.com', token: '123456', type: 'signup', });}認証状態の変化を検知する
「認証変更の監視」セクションconst listener = await CapacitorNeon.addListener('authStateChange', ({ event, session }) => { console.log('Auth event', event); console.log('Current JWT available', Boolean(session?.accessToken));});
// Call listener.remove() when the screen unmounts.Native Authをneon-jsと連携させる
「Native Auth と neon-js の組み合わせ」セクションこのパターンを使用する場合、JavaScript クライアントをインストールします:
bun add @neondatabase/neon-jsimport { CapacitorNeon } from '@capgo/capacitor-neon';import { createClient } from '@neondatabase/neon-js';
const neon = createClient({ dataApi: { url: 'https://ep-xxx.apirest.us-east-2.aws.neon.tech/neondb/rest/v1', getToken: async () => (await CapacitorNeon.getSession()).session?.accessToken ?? null, },});
const { data } = await neon.from('table').select('*');console.log('Row count', data?.length ?? 0);Native Databaseヘルパー
「ネイティブデータベースヘルパー」セクションconst { data, error } = await CapacitorNeon.select({ table: 'users', columns: 'id, name, email', filter: { active: true }, limit: 10, orderBy: 'created_at', ascending: false,});
if (error) { console.error('Select failed', error);} else { console.log('Rows returned', data?.length ?? 0);}誰もサインインしていない場合、データベースヘルパーは匿名の Data API トークンを使用するため、 anonymous ロールを適用します。
推奨される使用方法
「推奨される使い方」セクション- 認証とセッション管理には、このプラグインを使用してください。
- 高度なクエリは以下で実行できます:
@neondatabase/neon-js. - 保持 オブジェクトストレージ と AI Gateway Neon Functionまたは独自のAPI内での呼び出しです。どちらも、アプリのbundleに含めてはいけないブランチ認証情報を使用します。これらのサービスのURLは公開されているため、アクセスする前にNeon Functionsへのリクエストを認証してください。
- 必要に応じて、ネイティブJWTをJavaScriptクライアント、Neon Functions、または独自のAPIに渡してください。
Getting Startedの続きを進める
「Getting Started からの続き」セクション使用している場合 スタートガイド ネイティブプラグインの作業を計画するには、次と連携してください: Capgo プラグインディレクトリ Capgo プラグインディレクトリのプロダクトワークフローについては、 Capgo による Capacitor プラグイン Capgo による Capacitor プラグインの実装詳細については、 プラグインの追加または更新 プラグインの追加または更新に関する実装詳細については、 Ionic Enterprise プラグインの代替案 Ionic Enterprise Plugin Alternatives のプロダクトワークフロー、および Capgo Native Build Capgo Native Builds のプロダクトワークフローについては、