特定のフォルダに含まれるすべてのダイナミック クリエイティブ アセットを参照するには、「アセット ライブラリ ディレクトリ」を設定します。このディレクトリはフォルダパスとも呼ばれます。アセット ライブラリ ディレクトリを使用すると、アセット ライブラリ フォルダ内のすべてのダイナミック クリエイティブ アセットを JSON オブジェクト形式で取得することができます。このオブジェクトでは、key
はファイルの名前、value
は内部 CDN 上のファイルの場所です。
Studio では、フィード内に追加の列などの他のコンテンツはないと想定した場合、ディレクトリ内で概算で約 80 点の画像または約 10 点の動画の参照がサポートされます。ディレクトリにそれより多くの画像や動画が含まれる場合は、クリエイティブでペイロードの問題が発生することがあります。このため、最終的にクリエイティブに送信する画像や動画のみを、特定のフォルダに格納するようおすすめします。
フォルダ内のすべてのアセットを参照するには:
-
アセット ライブラリで、フォルダをクリックします。ウィンドウの右側に [詳細] ページが表示されます。フォルダの名前と変更済みの情報の下に、現在のディレクトリの [動的パス] が表示されます。パスが
DRM_Asset
ではなくDRM_Directory:
で始まる点に注目してください。ディレクトリの動的パスの例:
DRM_Directory:ourfolder/(アセットのホスト先)/
-
ディレクトリの動的パスをフィードに追加します。
アセット ライブラリのアセットを含むフィードの例は次のとおりです。B 列にはディレクトリの動的パスが表示されています。
A B ID ALFolder 1 DRM_Directory:ourfolder/(アセットのホスト先)/ -
ダイナミック プロフィールで、そのフォルダ内のすべてのアセットにアクセスするために、「
AssetLibrary ディレクトリ パス
」というフィールド タイプを選択します。Studio で生成されるコードの例:
dynamicContent.Sample_AssetDirectory_Application[0].ALFolder = {"image2_burger.jpg" : {"Type" : "file", "Url" : "https://s0.2mdn.net/ads/richmedia/studio/30933981/10030020_20140408091452935_image2_burger.jpg"},"image1_salad.jpg" : {"Type" : "file", "Url" : "https://s0.2mdn.net/ads/richmedia/studio/30933393/10030020_20140408091422952_image1_salad.jpg"},"image1_salad_old.jpg" : {"Type" : "file", "Url" : "https://s0.2mdn.net/ads/richmedia/studio/30933864/10030020_20140408091442259_image1_salad_old.jpg"}};
-
これで、アセットのファイル名のみを使用して、ディレクトリ内のファイルの参照を取得できるようになりました。たとえば、
image2_burger.jpg
を読み込む場合、URL パスを格納する新しい変数を作成します。この変数にダイナミック コンテンツALFolder
オブジェクトを設定し、ファイル名を渡して、URL を要求していることを示します。var imageUrl = dynamicContent.Sample_AssetDirectory_Application[0].ALFolder["image2_burger.jpg"].Url;
- クリエイティブに画像を読み込みます。
id が
'food'
の画像要素のソースを設定して、ダイナミック画像を読み込みます。たとえば HTML ファイルに画像要素があるとします。
<img id="food" src="default_food.jpg" height="140" width="180">
JavaScript で前のステップで設定した
imageUrl
変数セットを使って画像のソースを設定します。document.getElementById('food').src = imageUrl;