エッジ拡張機能のアクションタイプ

アクションタイプライブラリモジュールは、任意のアクションを実行するように設計されています。このアクションで何をおこなうかは、ユーザーが決定します。ビーコンを送信しますか? それともイベントの一部のデータを変換しますか?

重要

このドキュメントでは、エッジ拡張機能のアクションタイプについて説明します。web 拡張機能を開発する場合は、web 拡張機能のアクションタイプに関するガイドを参照してください。

このドキュメントは、ライブラリモジュールと、それらが Platform Launch の拡張機能に統合される仕組みについても精通していることを前提としています。説明が必要な場合は、このガイドに戻る前に、ライブラリモジュールの形式の概要を参照してください。

例えば、一部のデータをサードパーティのエンドポイントに転送する場合、モジュールは次のようになります。

module.exports = (context) {
  const { arc, utils } = context;
  const { fetch } = utils;
  const { event: { xdm } } = arc;
  return fetch('http://someendpoint.com', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json'
    },
    body: JSON.stringify(xdm)
  })
};

ここで、Adobe Experience Platform Launch のユーザーがエンドポイントを設定できるようにする場合を考えてみましょう。ユーザーがエンドポイントを入力し、そのエンドポイントを設定オブジェクトに保存できるようにする場合、オブジェクトは次のようになります。

{
  "endpoint": "http://someendpoint.com"
}

ユーザー定義のエンドポイントを操作するには、モジュールを次のように変更する必要があります。

module.exports = (context) {
  const { arc, utils } = context;
  const { fetch } = utils;
  const { event: { xdm } } = arc;
  const  { endpoint } = settings;
  return fetch(endpoint, {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json'
    },
    body: JSON.stringify(xdm)
  })
};

アクションの結果

アクションモジュールからは、どのような結果でも返すことができます。アクションで非同期タスクを実行する必要がある場合は、解決後に必要な結果を返すプロミスを返すことができます。

アクションの結果は ruleStash キーに保存されます。このキーは、context パラメーター(context.arc.ruleStash)を介してすべてのモジュールで使用できるようになります。ruleStash について詳しくは、こちらを参照してください。

このページ