現在表示中:

注意:

このドキュメントは、AEM Mobile 使用の手引きの一部で、AEM Mobile のリファレンスの出発点として最適です。

AEM Mobile のコンテンツパーソナライゼーション機能を使用すると、AEM 作成者は、Adobe Target を使用してモバイルアプリコンテンツをパーソナライズできます。これにより、ターゲットオファーをモバイルアプリケーションのユーザーに配信できます。Adobe Experience Manager Mobile には、個々の好みに合ったコンテンツをユーザーに提供する、コンテンツの作成、ターゲティングおよび配信機能が用意されています。

AEM ではよくあることですが、作成者がこれらのコンテンツの作成を開始するには、まず、管理者と開発者が環境を準備する必要があります。

AEM 管理者は、AEM Mobile と Adobe Target クラウドサービス間の接続を確立する必要があります。

一方、AEM Mobile 開発者は、ターゲットコンテンツのオーサリングを容易にするために、既存のスクリプトを変更する必要があります。

管理者向け

作成者がアプリケーション内でターゲットコンテンツを生成できるようにするには、AEM インスタンスに Adobe Target クラウドサービスを設定する必要があります。

作成者向け

前提条件:前述のように、作成者が新しいターゲットコンテンツを生成できるようにするには、管理者が Adobe Target サービスへの接続を設定する必要があります。

AEM Mobile アプリ内でターゲットコンテンツをオーサリングする手順は、AEM Sites をオーサリングする手順に似ています。

AEM でのターゲットコンテンツのオーサリングの概要については、こちらを参照してください。

開発者向け

モバイルアプリケーションをビルドする AEM 開発者は、コンポーネントの開発時に AEM 全体でよく使用されるパターンに常に従う必要があります。ここでは、コンテンツの作成者がターゲットコンテンツを作成できるようにするための手順について説明します。

パーソナライゼーションアプリの開発

コンポーネント

コンテンツの基盤となるのは通常、HTL と JSP のどちらを使用するかに応じて、wcm/foundation/components/page または foundation/components/page のいずれかの基本 AEM ページコンポーネントを拡張するページコンポーネントです。これらの手順を実行する間は、主に wcm/foundation/components/page コンポーネントを使用します。ページコンポーネントの基本構造は、複数のスクリプトに細分化されています。それぞれのスクリプトに固有の目的があり、開発者は必要に応じてコードを編成およびオーバーライドできます。パーソナライゼーションに関連するスクリプトは head.html と body.html の 2 つです。この 2 つのスクリプトには、Context Hub、クラウドサービスおよび Mobile オーサリングをサポートするためにコードを挿入できる領域があります。 

次に、コンテンツターゲットを有効にするために使用される 2 つの主要なスクリプトの概要を示します。

head.html

作成者がコンテンツターゲット機能を使用するには、ターゲットメニューをページに追加して、作成者が編集モードからターゲティングモードにコンテキストを変更できるようにする必要があります。この機能を有効にするには、開発者が head.html スクリプトを変更し、head.html の先頭付近、または <title></title> 要素のできるだけ近くに次のコードスニペットを挿入する必要があります。

<meta data-sly-test="${!wcmmode.disabled}">
    <div data-sly-call="${clientLib.all @ categories='personalization.kernel'}" data-sly-unwrap></div>
    <div data-sly-resource="${'config' @ resourceType='cq/personalization/components/clientcontext_optimized/config'}" data-sly-unwrap></div>
    <div data-sly-resource="${'contexthub' @ resourceType='granite/contexthub/components/contexthub'}" data-sly-unwrap></div>
</meta>

注意:

WCM モードが無効になっている場合は(詳しくは、「コンテンツ同期ハンドラー」の節を参照)、最終的なアプリケーションコードにこのスクリプトが含まれないように、WCM モードが無効になっていない場合にのみ、スクリプトを挿入する必要がある点に注意してください。

作成者がターゲットコンテンツをプレビューする機能を使用するには、エディターで Adobe Target クラウドサービスの設定を検索できるようにする必要があります。後述のコードブロックによって、2 つの重要なスクリプトが追加されます。最初のスクリプトは、関連付けられた Target クラウドサービスをページで検索し、Adobe Target を呼び出す機能を追加するものです。2 つ目のスクリプトは、cq.apps.targeting カテゴリを追加するものです。 

cq.apps.targeting カテゴリは、デフォルトの cq/personalization/component/target コンポーネントをオーバーライドし、モバイルアプリケーションでの使用に限定したオファーをレンダリングする mobileapps/components/target コンポーネントを使用します。詳しくは、「ターゲットコンポーネント」の節で説明します。

次のコードを head.html に追加し、</head> 要素の終わりの直前に配置する必要があります。 

<div data-sly-test="${!wcmmode.disabled}">
    <div data-sly-include="/libs/cq/cloudserviceconfigs/components/servicelibs/servicelibs.jsp" data-sly-unwrap></div>
    <meta data-sly-call="${clientLib.all @ categories='cq.apps.targeting'}" data-sly-unwrap></meta>
</div>

注意:

このコードブロックは、無効になっていない WCM モード内にラップされ、コンテンツ作成者がコンテンツを作成している間のみ機能する点に注意してください。クラウドサービスのスクリプトは、生成されたモバイルランタイムコードに追加されません。

body.html

コンテンツ作成者がさまざまなペルソナをテストできるようにするには、次のコードブロックを body 要素の最初の子として body.html スクリプトに挿入する必要があります。 

<div data-sly-test="${!wcmmode.disabled}">
    <div data-sly-resource="${'clientcontext' @ resourceType='cq/personalization/components/clientcontext_optimized'}" data-sly-unwrap></div>
</div>

必要な最後のコードは、body.html の一番下に配置します。このコード部分は、関連付けられたクラウドサービスを検索し、適切なターゲティングエンジンのコードを挿入します。

<div data-sly-test="${!wcmmode.disabled}">
    <div data-sly-resource="${'cloudservices' @ resourceType='cq/cloudserviceconfigs/components/servicecomponents'}" data-sly-unwrap></div>
</div>

参照アプリケーション

AEM Mobile Hybrid Reference App にある head.html と body.html の例では、開発者は、2 つのスクリプト内のどこにスクリプトブロックを配置すればよいかを確認できます。

コンテンツ同期ハンドラー

コンテンツ作成者がモバイルアプリケーション向けのコンテンツの作成を完了したら、次の手順では、ソースをダウンロードしてアプリケーションをビルドします。つまり、コンテンツを公開するためにステージングします。開発者は、このための多くの手順に関与しています。コンテンツをレンダリングできるように、AEM Mobile では、コンテンツ同期ハンドラーを使用して、コンテンツのレンダリングとパッケージ化が行われます。パーソナライゼーションの使用例でターゲットコンテンツをレンダリングするために、新しいコンテンツ同期ハンドラーが導入されています。「mobileappoffers」ハンドラーは、コンテンツ作成者によって作成された、関連するターゲットオファーをレンダリングする方法を認識しています。mobileappoffers ハンドラーは抽象ページ更新ハンドラーを拡張するので、プロパティの多くは同じです。mobileappoffers ハンドラーの詳細には、次のプロパティがあります。

プロパティ 説明
rewrite + relativeParentPath

  - "/"

rewrite プロパティは、コンテンツ内のパスを書き換える方法を指定します。
includedPageTypes

「cq/personalization/components/teaserpage」、

「cq/personalization/components/offerproxy」

includePageTypes プロパティはオプションであり、デフォルトは、リソースタイプが cq/personalization/components/teaserpage および cq/personalization/components/offerproxy のページです。この 2 つのリソースタイプは、コンテンツがターゲティングされたときに使用されるデフォルトのリソースタイプです。他のリソースタイプをサポートする必要がある場合は、includePageTypes のリストに追加する必要があります。
locationRoot /content/mobileapps/<アプリ> アプリの場所です。
type mobileappoffers mobileappoffers であるハンドラーの名前です。
selector tandt tandt セレクターを使用して、ターゲットコンテンツがレンダリングされます。 
targetRootDirectory www レンダリングされるコンテンツが格納されているルートディレクトリです。
includeImages true | false true の場合、オファーに含まれるすべての画像がレンダリングされます。false の場合、画像はスキップされます。
includeVideos true | false true の場合、オファーに含まれるすべてのビデオがレンダリングされます。false の場合、ビデオはスキップされます。
path /content/campaigns/<ブランド> オファーが属するキャンペーンのブランドを指します。現時点では、すべてのオファーが同じキャンペーンに属している必要があります。
deep true | false true の場合、すべての子ページが再帰的にレンダリングされます。false の場合は再帰的に処理されません。 
extension html レンダリングされるリソースの拡張子を設定します。ページの拡張子が .html になるように html に設定します。

注意:

AEM Mobile Hybrid Reference App には、mobileappoffer ハンドラーのデフォルト設定があります。path プロパティはキャンペーンの場所によって異なるので、サンプルでは空です。キャンペーン作成者がキャンペーンを作成した後、アプリ管理者は、そのキャンペーンを指すように path プロパティを指定して、キャンペーンをハンドラーと関連付ける必要があります。

ターゲットコンポーネント

モバイルアプリケーション専用のコンテンツをレンダリングするために、AEM Mobile では mobileapps/components/target コンポーネントが使用されます。このモバイルターゲットコンポーネントは cq/personalization/components/target コンポーネントを拡張し、engine_tnt.jsp スクリプトをオーバーライドします。engine_tnt.jsp をオーバーライドすることにより、モバイルアプリ用に生成された HTML を AEM Mobile で制御できます。コンテンツ作成者によってターゲティングされたすべてのコンポーネントについて、関連する mbox が engine_tnt.jsp によって作成されます。 

それぞれの mbox について、cq-targeting の属性が追加され、アプリケーション開発者は、使用するカスタムコードを自由に記述できます。AEM Mobile Hybrid Reference App には、cq-tar eting 属性を使用する Angular ディレクティブの例があります。いつ、どのようにしてコンテンツ置換が行われるかは、モバイルアプリケーション開発者次第です。AEM の /etc/clientlibs/mobileapps/js/mobileapps.js を通じて提供されるモバイル SDK には、Adobe Targeting サービスを呼び出す API が用意されています。アプリケーション開発者は、アプリケーションの設計に従って、その呼び出しを行うタイミングを指定する必要があります。

次の手順

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

法律上の注意   |   プライバシーポリシー