[Alpha]{class="badge informative"}
Server SDK for JavaScriptの概要
Adobe Experience Platform Server SDK for JavaScriptまたは Server SDK は、サーバー上で実行され、Adobe Experience Platform Edge Networkにデータを送信するライブラリです。 Node.jsおよび要件を満たす他のサーバーサイド JavaScript ランタイムで実行されます。 @adobe/alloy-nodeとしてnpmに公開されます。 このガイドでは、コアコンセプト、インストール、設定、およびメソッドについて説明します。
Server SDKは、Web SDKとコアを共有しています。 同じ データストリーム 、同じXDM データモデル、同じIDおよび同意Cookieを使用します。 ブラウザーではなくサーバー上で実行されるため、各訪問者のリクエストの作成、認証、処理の方法が異なります。
Server SDKを使用するタイミング when-to-use
Adobeには、Edge Networkにデータを送信する方法がいくつかあります。 コードが実行される場所と一致するものを選択します。
Server SDKとWeb SDKを一緒に使用できます。 例えば、サーバーはパーソナライズされたコンテンツをリクエストでき、ブラウザーはそれをレンダリングできます。 ハイブリッドパーソナライゼーション を参照してください。
仕組み how-it-works
- サーバーが起動するとは、1つのインスタンスを作成し、データストリーム、組織、およびAPI資格情報を使用して
configureを1回呼び出します。 - 各受信リクエストに対して
forRequestを呼び出して、その訪問者に対してスコープが設定されたハンドルを取得します。 ハンドルは、お客様が提供するcookie サービスを通じて訪問者のIDと同意を読み取り、書き込み、訪問者のリクエストヘッダー(User-Agentなど)をEdge Networkに転送します。 - ハンドルのメソッド(
sendEventなど)を呼び出しています。 SDKは、取得してキャッシュするアクセストークンを使用して、認証済みEdge Network Server APIにイベントを送信します。 - SDKは、結果をコードに返します。 例えば、
sendEventはパーソナライズの提案をデータとして返します。 SDKはそれらをレンダリングしません。 Web SDKがレンダリングするページに含めるなど、アプリケーションが処理を決定します。
詳しくは、 インスタンスとリクエスト を参照してください。
サポートされる機能 features
次の表に、アルファリリースがサポートする内容を示します。 詳細な比較については、Web SDKとの違いを参照してください。
sendEventとのイベントの送信setConsentおよびdefaultConsentとの同意defaultConsentが受け入れるのは"in"と"out"のみです。personalizationでパーソナライズをリクエストdebugEnabledとsetDebugを使用したデバッグ要件 requirements
Server SDKを使用する前に、以下を確認してください。
- Node.js 22以降などのサーバーサイド JavaScript ランタイム。
importでパッケージを読み込むため、ランタイムはECMAScript モジュールをサポートする必要があります。 また、次のweb標準グローバルも提供する必要があります:fetch、Headers、URLSearchParams、crypto.getRandomValues、setTimeout、clearTimeout、atob、btoa、TextEncoder、TextDecoder、およびconsole。 ランタイムサポート を参照してください。 - データストリーム。 データストリームの設定を参照してください。
getIdentity、appendIdentityToUrl、またはsetConsentを使用する場合は、これらのメソッドが未認証の要求を送信するため、データストリームの アクセスの種類 を 混合認証 に設定します。 認証を参照してください。 - Adobe Developer ConsoleのOAuth サーバー間の資格情報。 SDKでは、送信するイベントの認証にデータが必要であり、そのデータを使用します。 認証を参照してください。
- Adobe Experience Platformにデータを送信する場合、XDM スキーマとデータセット。
Runtime サポート runtime-support
Server SDKは、要件を満たすサーバーサイドのJavaScript ランタイムでサポートされています。 Node.js固有のモジュールには依存しません。 デフォルトの プラットフォームサービス では、fetchなどのweb標準APIのみを使用します。
これらのガイドでは、プライマリサンプルランタイムとしてNode.jsを使用します。 コード例では、process.envから資格情報を読み取ったり、node:http モジュールでリクエストを処理したりするなど、Node.jsの規則を使用しています。 別のランタイムを使用する場合は、これらの部品をランタイムの同等の部品に置き換えます。 SDK独自のメソッドは、サポートされているすべてのランタイムで同じように動作します。
Sourceのコードとフィードバック source
Server SDKはオープンソースです。 そのソースコードは、GitHubのadobe/alloy リポジトリのpackages/node フォルダーにあります。 問題を報告し、そのリポジトリの機能をリクエストします。