[Alpha]{class="badge informative"}
メソッドの概要
Server SDKは、createInstanceが返すオブジェクトのメソッドとして機能を提供します。 Web SDKを使用したことがある場合、これらのメソッドはWeb SDK コマンドに対応しますが、呼び出し方は異なります。
alloy("sendEvent", { xdm })alloy.sendEvent({ xdm })alloy("getIdentity")alloy.getIdentity()Web SDKでは、コマンド名を文字列として受け取る1つの関数を使用して、ライブラリの読み込みが完了する前にページでコマンドをキューに入れることができます。 サーバーはリクエストを処理する前にライブラリを読み込むため、Server SDKでは代わりに通常のメソッドが使用されます。これは、入力するときにエディターが提案およびチェックできます。
使用可能なメソッド methods
forRequest ハンドル訪問者トラフィックの場合は、トップレベルインスタンスではなく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へのデータの送信に関する問題が、サーバーが訪問者に送信する応答を壊さないようにします。