コマンド応答の処理

一部の Web SDK コマンドでは、組織で役立つ可能性のあるデータを含むオブジェクトを返す場合があります。 必要に応じて、そのデータの処理方法を選択できます。 コマンドの応答は、効果的に機能するためにEdge Networkデータが必要なので、提案と宛先に役立ちます。

コマンド応答は、プロミスの作成時には不明な値のプロキシとして機能するJavaScriptpromises を使用します。 値がわかると、プロミスはその値で「解決」されます。

Web SDK タグ拡張機能を使用してコマンド応答を処理します

イベント完了を送信 イベントをルールの一部として登録するルールを作成します。

  1. Adobe IDの資格情報を使用して experience.adobe.com にログインします。
  2. データ収集/タグ に移動します。
  3. 目的のタグプロパティを選択します。
  4. ルール に移動し、目的のルールを選択します。
  5. ​ イベント ​ で、既存のイベントを選択するか、イベントを作成します。
  6. ​ 拡張機能 ​ ドロップダウンフィールドを Adobe Experience Platform Web SDK に設定し、​ イベントタイプ ​ を イベント完了を送信 に設定します。
  7. 変更を保持」をクリックして、公開ワークフローを実行します。

その後、アクション 提案を適用 または 応答を適用 をこのルールに含めることができます。

  1. 上記で作成または編集したルールを表示する際に、既存のアクションを選択するか、アクションを作成します。
  2. ​ 拡張機能 ​ ドロップダウンフィールドを Adobe Experience Platform Web SDK に設定し、目的の動作に応じて ​ アクションタイプ ​ を 提案を適用 または 応答を適用 に設定します。
  3. アクションの目的のフィールドを設定し、「変更を保持」をクリックします。

Web SDK JavaScript ライブラリを使用してコマンド応答を処理します

then メソッドと catch メソッドを使用して、コマンドが成功するか失敗するかを判断します。 実装にとって目的が重要でない場合は、then または catch を省略できます。

alloy("sendEvent", {
  "xdm": {
    "commerce": {
      "order": {
        "purchaseID": "a8g784hjq1mnp3",
        "purchaseOrderNumber": "VAU3123",
        "currencyCode": "USD",
        "priceTotal": 999.98
      }
    }
  }
}).then(function(result) {
    console.log("The sendEvent command succeeded.");
  })
  .catch(function(error) {
    console.log("The sendEvent command failed.");
  });

コマンドから返されるすべてのプロミスは、result オブジェクトを使用します。 例えば、getLibraryInfo のコマンドを使用して、result オブジェクトからライブラリ情報を取得できます。

alloy("getLibraryInfo")
  .then(function(result) {
    console.log(result.libraryInfo.version);
    console.log(result.libraryInfo.commands);
    console.log(result.libraryInfo.configs);
  });

この result オブジェクトの内容は、使用するコマンドとユーザーの同意の組み合わせによって異なります。 ユーザーが特定の目的で同意していない場合、応答オブジェクトには、ユーザーが同意した内容のコンテキストで提供できる情報のみが含まれます。

recommendation-more-help
ad108910-6329-42f1-aa1d-5920a2b13636