[Alpha]{class="badge informative"}

メソッドの概要

Server SDKは、createInstanceが返すオブジェクトのメソッドとして機能を提供します。 Web SDKを使用したことがある場合、これらのメソッドはWeb SDK コマンドに対応しますが、呼び出し方は異なります。

Web SDK (ブラウザー)
Server SDK
alloy("sendEvent", { xdm })
alloy.sendEvent({ xdm })
alloy("getIdentity")
alloy.getIdentity()

Web SDKでは、コマンド名を文字列として受け取る1つの関数を使用して、ライブラリの読み込みが完了する前にページでコマンドをキューに入れることができます。 サーバーはリクエストを処理する前にライブラリを読み込むため、Server SDKでは代わりに通常のメソッドが使用されます。これは、入力するときにエディターが提案およびチェックできます。

使用可能なメソッド methods

メソッド
説明
トップレベルインスタンス
forRequest ハンドル
configure
データストリーム、組織、資格情報およびその他のオプションを設定します。 サーバーの起動時に1回呼び出します。
○
×
forRequest
1人の訪問者のリクエストに対するスコープを持つハンドルを返します。
○
×
sendEvent
Edge Networkにイベントを送信し、パーソナライゼーションの提案などの結果を返します。
○
○
getIdentity
イベントを送信せずに訪問者のECIDを返します。
○
○
appendIdentityToUrl
訪問者のIDをURLに追加して、別のドメインが訪問者を認識できるようにします。
○
○
setConsent
訪問者の同意設定を記録します。
○
○
applyResponse
別の方法で取得したEdge Network応答を処理します。
○
○
getLibraryInfo
ライブラリのバージョンと現在の設定を返します。
○
○
setDebug
デバッグログのオンとオフを切り替えます。
○
○

訪問者トラフィックの場合は、トップレベルインスタンスではなくforRequest ハンドルでメソッドを呼び出します。 ​ インスタンスとリクエスト ​を参照してください。

結果を処理 results

forRequestを除くすべてのメソッドは、promiseを返します。 プロミスは、メソッドが成功した場合は結果オブジェクトで解決され、失敗した場合はErrorで拒否されます。 awaitをtry...catchと共に使用するか、thenとcatchを使用してください:

try {
  const result = await visitor.sendEvent({
    xdm: {
      eventType: "web.webpagedetails.pageViews",
      identityMap: {
        Email: [{ id: "visitor@example.com", primary: true }]
      }
    }
  });
  console.log("Propositions", result.propositions);
} catch (error) {
  console.error("sendEvent failed", error.message);
}

結果オブジェクトの内容は、メソッドによって異なります。 各メソッドのページには、その結果オブジェクトが記述されます。 setConsentなどの一部のメソッドは、空のオブジェクトで解決されます。

結果は訪問者の同意にも左右されます。 訪問者がオプトアウトした場合、sendEventなどのメソッドは、何もAdobeに送信せずに空のオブジェクトで解決されます。

エラー errors

メソッドは、次のような場合に拒否されます。

  • 無効なオプション: SDKは、すべてのオプションを送信する前に検証します。 不明またはスペルが間違っているオプション、または間違ったタイプの値は、問題の名前を示すメッセージ('bogus': Unknown fieldなど)で拒否されます。
  • 認証エラー: SDKがアクセストークンを取得できない場合、メソッドはFailed to acquire an IMS access tokenを含むメッセージで拒否します。 認証を参照してください。
  • Edge Network エラー: イベントにプライマリ IDがないなどの理由でEdge Networkがリクエストを拒否した場合、Edge Networkが返したエラーでメソッドが拒否されます。
  • ネットワークエラー:お使いのサーバーがAdobeに到達できない場合、その原因となるネットワークエラーによりメソッドが拒否されます。

forRequestは約束を返しません。 ハンドルをすぐに返すか、configureがまだ解決されていない場合はエラーをスローします。

ランタイムとその設定方法に応じて、処理されていないpromiseの拒否は、サーバープロセスを停止したり、リクエストを失敗させたりする可能性があります。 SDK メソッドからの拒否を常に処理します。これにより、Adobeへのデータの送信に関する問題が、サーバーが訪問者に送信する応答を壊さないようにします。

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