JSON オファーの作成

フォームベースのExperience Composerで使用するJSONオファーをAdobe Targetのオファーライブラリに作成します。

JSONオファーはフォームベースのアクティビティで使用できるので、SPAフレームワークまたはサーバー側統合での使用時にTargetの判定がJSON形式でオファーを送信する必要がある場合に有効にします。

JSONの考慮事項

JSON オファーを使用する際は次の点を考慮してください。

  • JSONオファーは、現在、A/Bテストとエクスペリエンスのターゲット設定 (XT)アクティビティでのみ使用できます。
  • JSONオファーは、フォームベースのアクティビティでのみ使用できます。
  • JSON オファーは、サーバー側 API、Mobile SDK または NodeJS SDK を使用している場合は直接取得できます。
  • ブラウザーでは、JSON オファーは、at.js 1.2.3 以降とgetOffer() を介して、setJson アクションによってアクションをフィルタリングすることでのみ取得できます。
  • JSON オファーは、文字列ではなくネイティブの JSON オブジェクトとして配信されます。これらのオブジェクトを利用する際に、オブジェクトを文字列として処理し、JSON オブジェクトに変換する必要はなくなりました。
  • JSON オファーはビジュアルオファーではないので、他のオファー(HTML オファーなど)とは異なり自動的に適用されることはありません。開発者はgetOffer() を使用して、オファーを明示的に取得するコードを作成する必要があります。
  • JSON オファーは、mbox.js を使用している場合はサポートされません。

JSONオファーの作成

  1. オファー/コードオファー​をクリックします。

    オファー/「コードオファー」タブ

  2. 作成JSON オファー​をクリックします。

  3. オファー名を入力します。

  4. コード」ボックスに JSON コードを入力するか貼り付けます。

  5. 保存」をクリックします。

JSONの例

JSONオファーは、フォームベースのExperience Composerを使用して作成されたアクティビティでのみサポートされます。 現時点で JSON オファーを使用できる方法は、直接の API 呼び出しのみとなっています。

次に例を示します。

adobe.target.getOffer({ 
  mbox: "some-mbox", 
  success: function(actions) { 
    console.log('Success', actions); 
  }, 
  error: function(status, error) { 
    console.log('Error', status, error); 
  } 
});

success コールバックに渡すアクションは、オブジェクトの配列です。次のコンテンツを含む単一の JSON オファーがあるとします。

{ 
  "demo": {"a": 1, "b": 2} 
}

アクション配列は次のような構成になります。

[ 
 { 
   action: "setJson", 
   content: [{ 
     "demo": {"a": 1, "b": 2} 
   }] 
 }  
]

JSONオファーを抽出するには、アクションを繰り返し実行し、setJsonアクションを持つアクションを探してから、コンテンツ配列を繰り返します。

使用例

次の JSON オファーが Web ページに配信されるとします。

{ 
    "_id": "5a65d24d8fafc966921e9169", 
    "index": 0, 
    "guid": "7c006504-c6f7-468d-a46f-f72531ea454c", 
    "isActive": true, 
    "balance": "$2,075.06", 
    "picture": "https://placehold.it/32x32", 
    "tags": [ 
      "esse", 
      "commodo", 
      "excepteur", 
    ], 
    "friends": [ 
      { 
        "id": 0, 
        "name": "Carla Lyons" 
      }, 
      { 
        "id": 1, 
        "name": "Ollie Mooney" 
      }, 
    ], 
    "greeting": "Hello, Stephenson Fernandez! You have 4 unread messages.", 
    "favoriteFruit": "strawberry" 
} 
  

次のコードは、「greeting」属性にアクセスする方法を示しています。

adobe.target.getOffer({   
  "mbox": "name_of_mbox", 
  "params": {}, 
  "success": function(offer) {           
        console.log(offer[0].content[0].greeting); 
  },   
  "error": function(status, error) {           
      console.log('Error', status, error); 
  } 
});

JSONオファータイプでオファーをフィルタリングする

オファーをJSONオファータイプでフィルタリングするには、タイプ​ドロップダウンリストをクリックし、JSON​チェックボックスを選択します。

このページ