ここでは、データストアを使用したデータ主導型アセット変更の作成と管理について重点的に説明します。
AEM Screens プロジェクトの在庫主導型チャネルを作成および管理する方法の詳細に立ち入る前に、様々なシナリオに関連する重要なキーワードをいくつか理解しておく必要があります。
ブランド:プロジェクトの概要を指します。
領域:「Digital Ad Signage」などの AEM Screens プロジェクト名を指します。
アクティビティ:在庫主導型、天候主導型、部門稼働状況主導型などのルールカテゴリを定義します。
オーディエンス:ルールを定義します。
セグメント:温度が華氏 50 度を下回った場合はスクリーンにホットコーヒーの画像を表示し、それ以外の場合は冷たい飲み物の画像を表示するといった一定のルールで再生するアセットのバージョンを指します。
以下の図は、ContextHub 設定がアクティビティ、オーディエンス、チャネルと一致する様子を視覚的に示しています。
AEM Screens プロジェクト用に Context Hub の設定を開始する前に、(デモ用に)Google シートをセットアップする必要があります。
次の例では、値の取得先となるサンプルデータベースシステムとして Google シートを使用していますが、この Google シートはあくまで教育用のものです。アドビでは、実稼動環境への Google シートの使用はお勧めしません。
詳しくは、Google ドキュメントの Get an API Key を参照してください。
データストアは、ローカル I/O イベントまたはローカルデータベースイベントとして設定できます。
次のアセットレベルのデータトリガーの例は、AEM Screens チャネルへの ContextHub 設定とセグメントパスを使用できる Excel シートなどのデータストアを設定するローカルデータベースイベントを示しています。
Google シートが正しく設定されると、次のように表示されます。
次の検証は、接続を確認する際に、次の形式で Google シート ID と API キーの 2 つの値を入力すると表示されます。
https://sheets.googleapis.com/v4/spreadsheets/<your sheet id>/values/Sheet1?key=<your API key>
次の例は、値が 100 を超えるか 50 未満の場合にアセットの変更をトリガーするデータストアとしての Google シートを示しています。
ContextHub に移動する
AEM インスタンスに移動し、左側のサイドバーにあるツールアイコンをクリックします。Sites/ContextHub をクリックします(下図を参照)。
新しい ContextHub ストア設定の作成
「screens」という設定コンテナに移動します。
作成/設定コンテナを作成をクリックし、タイトルに「ContextHubDemo」と入力します。
ContextHubDemo/作成/ContextHub 設定に移動し、「保存」をクリックします。
「保存」をクリックすると、ContextHub 設定画面が開きます。
ContextHub 設定画面で、作成/ContentHub ストア設定をクリックします。
AEM 6.5 機能パック 4 または AEM 6.4 機能パック 8 の一部として、/conf/screens/settings/cloudsettings
を sling:Folder
に更新する必要があります。
次の手順に従います。
/conf/screens/settings/cloudsettings
に移動します。cloudsettings jcr:primaryType
が sling:Folder
にあるかどうかを確認します。jcr:primaryType
が sling:folder
にない場合は、次の手順に進みます。/conf/screens/settings
を右クリックし、「名前」が「cloudsettings1」、「タイプ」が「sling:Folder」の新しいノードを作成して、変更内容を保存します。/conf/screens/settings/cloudsettings
の下のすべてのノードを cloudsettings1
に移動します。cloudsettings
を削除して保存します。cloudsettings1
を cloudsettings
に名前変更して保存します。jcr:primaryType
が sling:Folder
として含まれるようになります。アップグレードの前後に、オーサーとパブリッシュで以上の手順を実行する必要があります。
「タイトル」に「Google Sheets」、「ストア名」に「googlesheets」、「ストアの種類」に「contexthub.generic-jsonp」と、それぞれ入力して、「次へ」をクリックします。
Adobe Experience Manager(AEM)6.4 を使用している場合は、「構成タイトル」を「googlesheets」、「ストアタイプ」を「contexthub.generic-jsonp」として入力します。
固有の JSON 設定を入力します。例えば、次の JSON をデモ用に使用し、「保存」をクリックすると、ContextHub 設定に「Google Sheets」という名前のストア設定が表示されます。
上記の JSON コードの該当するプレースホルダーを、Google シートのセットアップ時に取得した実際の <シート ID> と <API キー> に必ず置き換えてください。
{
"service": {
"host": "sheets.googleapis.com",
"port": 80,
"path": "/v4/spreadsheets/<your google sheets id>/values/Sheet1",
"jsonp": false,
"secure": true,
"params": {
"key": "<your Google API key>"
}
},
"pollInterval": 10000
}
上記のサンプルコードで、pollInterval は、値が更新される頻度をミリ秒単位で定義します。
上記の JSON コードの該当するプレースホルダーを、Google シートのセットアップ時に取得した実際の <シート ID> と <API キー> に置き換えます。
Google シートのストア設定をグローバルフォルダー以外(例えば、独自のプロジェクトフォルダー内など)で作成した場合、ターゲティングは初期状態では機能しません。
ストアのセグメント化の設定
「ContentHub ストア設定」に移動して、screens 設定コンテナで別のストア設定を作成し、「タイトル」に「segmentation-contexthub」、「ストア名」に「segmentation」、「ストアの種類」に「aem.segmentation」と入力します。
「次へ」、「保存」の順にクリックします。
json を定義するプロセスをスキップし、空白のままにしておく必要があります。
オーディエンスにセグメントを作成する
AEM インスタンスで、パーソナライゼーション/オーディエンス/Screens に移動します。
作成/Context Hub セグメントを作成をクリックします。新しい ContextHub セグメントダイアログボックスが開きます。
「タイトル」に「Higherthan50」と入力し、「作成」をクリックします。同様に、「Lowerthan50」というタイトルの別のセグメントを作成します。
Higherthan50 セグメントを選択し、アクションバーの「プロパティ」をクリックします。
セグメントプロパティから「パーソナライゼーション」タブを選択します。次の図に示すように、「ContextHub のパス」を /conf/screens/settings/cloudsettings/ContextHubDemo/contexthub configurations
、「セグメントのパス」を /conf/screens/settings/wcm/segments
に設定し、「保存」をクリックします。
同様に、Lowerthan50 セグメントの「ContextHub のパス」と「セグメントのパス」を設定します。
次の手順に従って、アクティビティにブランドを、ブランドの下に領域を作成します。
アクティビティにブランドを作成する
AEM インスタンスで、パーソナライゼーション/アクティビティに移動します。
作成/ブランドを作成をクリックします。
ページを作成ウィザードから「ブランド」を選択し、「次へ」をクリックします。
「タイトル」に「ScreensBrand」と入力し、「作成」をクリックします。これで、以下のようにブランドが作成されました。
既知の問題:
領域を追加するには、URL(例えば下記)から「master」を削除します。
http://localhost:4502/libs/cq/personalization/touch-ui/content/v2/activities.html/content/campaigns/screensbrand/master
ブランドに領域を作成する
以下の手順に従って、ブランドに領域を作成します。
「作成」、「領域を作成」を順にクリックします。
ページを作成ウィザードから「領域」を選択し、「次へ」をクリックします。
「タイトル」に「ScreensValue」と入力し、「作成」をクリックします。これで、ブランドに領域が作成されます。
データストアを設定し、アクティビティ(ブランドと領域)を定義したら、次の手順に従ってアクティビティにセグメントを作成します。
アクティビティにセグメントを作成する
AEM インスタンスで、パーソナライゼーション/アクティビティ/ScreensBrand/ScreensValue に移動します。
作成/アクティビティを作成をクリックします。アクティビティの設定ウィザードが開きます。
「タイトル」に「ValueCheck50」、「名前」に「valuecheck50」と入力します。「ターゲットエンジン」ドロップダウンから「ContextHub (AEM)」を選択し、「次へ」をクリックします。
アクティビティを設定ウィザードで「エクスペリエンスを追加」をクリックします。
「オーディエンス」から「Higherthan50」を選択し、「エクスペリエンスを追加」をクリック、「タイトル」に「higherthan50」、「名前」に「higherthan50」と入力します。「OK」をクリックします。
「オーディエンス」から「Lowerthan50」を選択し、「エクスペリエンスを追加」をクリック、「タイトル」に「lowerthan50」、「名前」に「lowerthan50」と入力します。「OK」をクリックします。
「次へ」、「保存」の順にクリックします。ValueCheck50 アクティビティが作成され、設定されました。
セグメントを編集する
AEM インスタンスで、パーソナライゼーション/オーディエンス/Screens に移動します。
Higherthan50 セグメントを選択し、アクションバーの「編集」をクリックします。
比較:プロパティ - 値コンポーネントをエディターにドラッグ&ドロップします。
レンチアイコンをクリックして、プロパティと値の比較ダイアログボックスを開きます。
「プロパティ名」のドロップダウンから「googlesheets/value/1/0」を選択します。
googlesheets/value/1/0 は、下図のように、Google シートの 1 列目の 2 行目に入力された値を参照します。
「演算子」のドロップダウンメニューから「次よりも大きい」を選択します。
「値」に「70」を入力します。
AEM で Google シートのデータが検証されると、セグメントが緑色で表示されます。
同様に、プロパティ値を Lowerthan50 へと編集します。
比較:プロパティ - 値コンポーネントをエディターにドラッグ&ドロップします。
レンチアイコンをクリックして、プロパティと値の比較ダイアログボックスを開きます。
「プロパティ名」のドロップダウンから「googlesheets/value/1/0」を選択します。
「演算子」のドロップダウンメニューから「次よりも小さい」を選択します。
「値」に「50」と入力します。
以下の手順に従って、チャネルでターゲティングを有効にします。
AEM Screens チャネルのいずれかに移動します。以下の手順は、AEM Screens チャネルに作成した DataDrivenChannel を使用してターゲティングを有効にする方法を示しています。
TargetChannel チャネルを選択し、アクションバーの「プロパティ」をクリックします。
「パーソナライズ機能」タブを選択して、ContextHub 設定をセットアップします。
「ContextHub パス」を /conf/screens/settings/cloudsettings/ContextHubDemo/contexthub configurations
に設定、「セグメントパス」を /conf/screens/settings/wcm/segments
に設定して、「保存」をクリックします。
「保存して閉じる」をクリックします。
ContextHub 設定とセグメントをそれぞれ最初に保存した、Context Hub とセグメントのパスを使用します。
TargetChannel チャネルに移動して選択し、アクションバーの「編集」をクリックします。
すべてを正しくセットアップしたら、下図に示すように、エディターのドロップダウンに「ターゲティング」オプションが表示されます。
AEM Screens プロジェクトに ContextHub を設定したら、以下の様々な使用例を通じて、データでトリガーされるアセットが様々な業界でいかに重要な役割を果たしているかを理解できます。