このガイドでは、TRACIOをアプリケーションに統合する手順を説明します。クライアントSDKをインストールし、公開鍵で初期化し、最初の訪問者識別結果を読み取ります。
お好みのパッケージマネージャーを使用してTRACIO SDKをインストールします:
npm install @tracio/sdkまたは pnpm で:
pnpm add @tracio/sdkまたは yarn で:
yarn add @tracio/sdkバンドラーを使用しない場合は、エッジのスクリプトタグをページに配置します。kクエリパラメータの公開鍵で自動的に初期化されます:
<script src="https://edge.tracio.ai/s.js?k=PUBLIC_KEY" async></script>Tracioをインポートし、公開鍵を指定してTracio.init()を呼び出します。これはただちにTracioInstanceを返します。基盤となるエージェントはバックグラウンドで読み込まれます。
import { Tracio } from "@tracio/sdk"
const tracio = Tracio.init({ publicKey: "5ca175fc...",})公開鍵はクライアント側のコードに含めても安全です。ダッシュボードのAPI Keysで確認できます。
Tracio.init()はTracioConfigオブジェクトを受け取ります:
| オプション | 型 | デフォルト | 説明 |
|---|---|---|---|
publicKey | string | 必須 | 公開鍵。ダッシュボードからコピーします。 |
region | "us" | "eu" | なし | 任意のデータリージョン。未設定の場合、SDKは汎用のhttps://edge.tracio.aiエンドポイントを使用します(USデータレジデンシーを含意しません)。usまたはeuに固定するには明示的に設定します。 |
endpoint | string | 自動 | カスタムAPIエンドポイント(ファーストパーティでプロキシされたエンドポイント用)。 |
scriptUrl | string | 自動 | エージェントスクリプトのカスタムURL(ファーストパーティでプロキシされたエンドポイント用)。 |
linkedId | string | なし | この訪問者をお客様のシステム内のエンティティに紐付ける識別子。 |
tag | string | なし | 後でフィルタリングするためにリクエストに付与する自由形式のラベル。 |
debug | boolean | false | 詳細な診断情報をコンソールに出力します。 |
timeoutMs | number | 15000 | タイムアウトするまで結果を待つ時間。 |
tracio.getVisitorId()を呼び出して、安定した訪問者識別子を取得します。これは非同期処理です。
const visitorId = await tracio.getVisitorId()
console.log(visitorId) // "X7fh2Hg9LkMn3pQr"tracio.getResult()を呼び出して、ボット検知を含む完全な識別結果を取得します。
const result = await tracio.getResult()
console.log(result.visitorId) // "X7fh2Hg9LkMn3pQr"
if (result.bot.detected) { console.warn("bot, confidence:", result.bot.confidence)}結果は次の形式です:
{ visitorId: "X7fh2Hg9LkMn3pQr", bot: { detected: false, confidence: 2, // 0-100 reasons: [], },}ライフサイクルコールバックを使用して、エージェントの準備が完了したときや何らかの失敗が発生したときに対応し、destroy()でインスタンスを破棄します:
const tracio = Tracio.init({ publicKey: "5ca175fc..." })
tracio.onReady((result) => { console.log("ready:", result.visitorId)})
tracio.onError((error) => { console.error("tracio error:", error.code, error.message)})
// later, when you no longer need ittracio.destroy()エラーコードの完全な一覧と再試行ヘルパーについては、Error Handlingを参照してください。
import { Tracio } from "@tracio/sdk"
const tracio = Tracio.init({ publicKey: "5ca175fc..." })
async function handleLogin(email: string, password: string) { const visitorId = await tracio.getVisitorId()
const response = await fetch("/api/login", { method: "POST", body: JSON.stringify({ email, password, visitorId }), })
return response.json()}import { Tracio } from "@tracio/sdk"
const tracio = Tracio.init({ publicKey: "5ca175fc...", tag: "payment",})
async function processPayment(paymentData: PaymentData) { const result = await tracio.getResult()
if (result.bot.detected) { throw new Error("Automated client detected") }
const response = await fetch("/api/payment", { method: "POST", body: JSON.stringify({ ...paymentData, visitorId: result.visitorId }), })
return response.json()}