[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を使用します。 ブラウザーではなくサーバー上で実行されるため、各訪問者のリクエストの作成、認証、処理の方法が異なります。

IMPORTANT
Server SDKはアルファ版です。 そのメソッド、オプションおよび動作はリリース間で変更でき、​ サポートされている機能に記載されている機能のみが使用できます。 アップグレードする前に、​ リリースノート ​を確認してください。

Server SDKを使用するタイミング when-to-use

Adobeには、Edge Networkにデータを送信する方法がいくつかあります。 コードが実行される場所と一致するものを選択します。

アプローチ
次の場合に使用
Web SDK
あなたのコードは訪問者のブラウザーで実行されます。 Web SDKは、パーソナライズされたコンテンツのレンダリング、リンククリックの収集、ページコンテキストの自動読み取りを可能にします。
Server SDK
このコードは、訪問者のリクエストを処理するJavaScript サーバー上で実行されます。 例えば、ページをレンダリングするサーバー、API バックエンド、ページがブラウザーに到達する前にパーソナライゼーションを取得するミドルウェアなどです。
Edge Network API
Edge Networkに直接電話する場合は、ライブラリを使用せずに、任意の言語から電話をかけます。 Server SDKは、このAPIを呼び出します。

Server SDKとWeb SDKを一緒に使用できます。 例えば、サーバーはパーソナライズされたコンテンツをリクエストでき、ブラウザーはそれをレンダリングできます。 ​ ハイブリッドパーソナライゼーション ​を参照してください。

仕組み how-it-works

  1. サーバーが起動すると​は、1つのインスタンスを作成し、データストリーム、組織、およびAPI資格情報を使用してconfigureを1回呼び出します。
  2. 各受信リクエスト​に対してforRequestを呼び出して、その訪問者に対してスコープが設定されたハンドルを取得します。 ハンドルは、お客様が提供するcookie サービスを通じて訪問者のIDと同意を読み取り、書き込み、訪問者のリクエストヘッダー(User-Agentなど)をEdge Networkに転送します。
  3. ハンドル​のメソッド(sendEventなど)を呼び出しています。 SDKは、取得してキャッシュするアクセストークンを使用して、認証済みEdge Network Server APIにイベントを送信します。
  4. SDKは、結果をコードに返します。 例えば、sendEventはパーソナライズの提案をデータとして返します。 SDKはそれらをレンダリングしません。 Web SDKがレンダリングするページに含めるなど、アプリケーションが処理を決定します。

詳しくは、​ インスタンスとリクエスト ​を参照してください。

サポートされる機能 features

次の表に、アルファリリースがサポートする内容を示します。 詳細な比較については、Web SDKとの違いを参照してください。

機能
ステータス
sendEventとのイベントの送信
対応
getIdentityとappendIdentityToUrlのIDを取得
対応
setConsentおよびdefaultConsentとの同意
サポートされています。 defaultConsentが受け入れるのは"in"と"out"のみです。
personalizationでパーソナライズをリクエスト
サポートされています。 提案はデータとして返され、レンダリングされません。
コンテキストデータ
部分的にサポート。 ​ コンテキストと転送ヘッダーを参照してください。
debugEnabledとsetDebugを使用したデバッグ
サポートされています。 ログはコンソールに書き込まれます。
パーソナライズされたコンテンツのレンダリング、クリック収集、メディア分析、プッシュ通知、Brand Concierge、オーディエンス、ルールベースのコンテンツカード
サポートなし

要件 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 フォルダーにあります。 問題を報告し、そのリポジトリの機能をリクエストします。

次の手順 next-steps

recommendation-more-help
experience-platform-help-collection