現在表示中:

注意:

アドビは、シングルページアプリケーションフレームワークをベースにしたクライアント側のレンダリング(React など)を必要とするプロジェクトには SPA エディターを使用することをお勧めします。詳細情報

モバイルアプリは、目的とするアプリエクスペリエンスを配信するために、AEM 内のあらゆるコンテンツを必要に応じて利用できなければなりません。

これには例えば、アセット、サイトコンテンツ、CaaS コンテンツ、無線(OTA)コンテンツ、独自の構造を持つカスタムコンテンツなどが含まれます。

注意:

無線コンテンツは、ContentSync ハンドラーを利用して、上記のいずれからでも作成できます。無線コンテンツを使用すると、パッケージと配信を Zip して一括で処理したり、アップデートやパッケージを保守したりできます。

コンテンツサービスは、主に 3 種類の要素を配信します。

  1. アセット
  2. パッケージド HTML コンテンツ(HTML/CSS/JS)
  3. チャネル独立コンテンツ
chlimage_1

アセット

アセットコレクションは、他のコレクションの参照を含む AEM 構成要素です。 

アセットコレクションは、コンテンツサービスを介して公開できます。リクエストでアセットコレクションを呼び出すと、アセットのリストを表すオブジェクトが返され、ここにアセットの URL が含まれています。アセットは URL を介してアクセスされ、その URL はオブジェクトの形で提供されます。次に例を示します。

  • ページエンティティは、画像参照を含む JSON(ページオブジェクト)を返します。この画像参照は、画像のアセットバイナリを取得するときに使用される URL です。
  • フォルダー内のアセットのリストをリクエストすると、JSON と、そのフォルダー内のすべてのエンティティに関する詳細が返されます。このリストはオブジェクトの形をとります。この JSON は、そのフォルダー内の各アセットのアセットバイナリを取得するために使用する URL 参照を含みます。

アセットの最適化

コンテンツサービスは、デバイス用に最適化されたアセットを返します。これは、コンテンツサービスの重要な機能です。これにより、ローカルデバイスのストレージニーズが軽減し、アプリのパフォーマンスが向上します。 

アセットの最適化は、API リクエストで提供される情報に基づく、サーバー側の機能です。可能であれば、同様のリクエストをおこなう際にアセットレンディションを再生成しなくても済むように、アセットレンディションをキャッシュしておく必要があります。

アセットのワークフロー

次に、アセットのワークフローを示します。

  1. 既製の AEM で使用可能なアセット参照
  2. モデルを選択してアセット参照エンティティを作成
  3. エンティティを編集
    1. アセットまたはアセットコレクションを選択
    2. JSON レンダリングをカスタマイズ

次の図に、アセット参照ワークフローを示します。

chlimage_1

アセットの管理

コンテンツサービスは、他の AEM コンテンツを介して参照できない、AEM の管理対象アセットへのアクセスを提供します。

既存の管理対象アセット

既存の AEM Sites および Assets ユーザーは、AEM Assets を使用して、すべてのチャネルのすべてのデジタル要素を管理しています。これらのユーザーは、ネイティブモバイルアプリを開発中で、AEM Assets によって管理されるいくつかのアセットを使用する必要があります。例えば、ロゴ、背景画像、ボタンアイコンなどを使用する必要があります。

現在、これらのアセットは、アセットリポジトリ全体にわたって保存されています。アプリが参照する必要があるファイルは、次の場所にあります。

  • /content/dam/geometrixx-outdoors/brand/logo_light.png
  • /content/dam/geometrixx-outdoors/brand/logo_dark.png
  • /content/dam/geometrixx-outdoors/styles/backgrounds/grey_blue.jpg
  • /content/dam/geometrixx-outdoors/brand/icons/app/cart.png
  • /content/dam/geometrixx-outdoors/brand/icons/app/home.png

CS アセットエンティティへのアクセス

ここでは、ページは既に使用可能になっているものとします。API を利用してページを使用可能にする手順については触れません(この手順については、AEM UI に関する説明で触れます)。アセットエンティティは作成済みで、既に「appImages」スペースに追加されています。スペース内を整理しやすいように、スペース下に追加のフォルダーが作成されています。したがって、アセットエンティティは、AEM JCR 内に、次のように保存されます。

  • /content/entities/appImages/logos/logo_light
  • /content/entities/appImages/logos/logo_dark
  • /content/entities/appImages/bkgnd/grey_blue
  • /content/entities/appImages/icons/cart
  • /content/entities/appImages/icons/home

使用可能なアセットエンティティのリストの取得

アプリ開発者は、アセットエンティティを取得することで、使用可能なアセットのリストを取得できます。コンテンツサービスのスペースエンドポイントでは、Web サービス API SDK を利用して、この情報を提供できます。

結果として取得できるリストは、「icons」フォルダー内のアセットのリストを提供する JSON 形式のオブジェクトです。 

chlimage_1

画像の取得

JSON は、コンテンツサービスによって生成される各画像に URL を提供します。

「cart」画像のバイナリを取得するために、クライアントライブラリは再度使用されます。 

パッケージド HTML コンテンツ

コンテンツのレイアウトを維持するには、HTML コンテンツが必要です。これは Web コンテナ(Cordova Web ビューなど)を使用してコンテンツを表示するネイティブアプリケーションで便利です。

AEM コンテンツサービスは、API を介してモバイルアプリに HTML コンテンツを提供できます。AEM コンテンツを HTML として公開するには、その AEM コンテンツソースを参照する HTML ページエンティティを作成します。

次のオプションを検討します。

  • Zip ファイル:デバイス上での表示を最適におこなうには、ページのすべての参照要素(css、JavaScript、アセットなど)を単一の圧縮ファイルにまとめて応答に含めます。HTML ページ内の参照は、これらのファイルへの相対パスを使用するように調整されます。
  • ストリーミング:AEM から必要なファイルのマニフェストを取得します。次に、これ以降のリクエストでは、このマニフェストを使用してすべてのファイル(HTML、CSS、JS など)をリクエストします。
コンテンツ再使用オプション

チャネル独立コンテンツ

チャネル独立コンテンツとは、ページなどの AEM コンテンツ構成要素を、レイアウトやコンポーネント、その他のチャネル固有の情報から切り離した形で公開する方法です。

これらのコンテンツエンティティは、コンテンツモデルを使用して AEM 構成要素を JSON 形式に変換することで生成されます。結果の JSON データには、AEM リポジトリから切り離された、コンテンツのデータに関する情報が含まれます。例えば、戻りメタデータや、アセットへの AEM 参照リンク、コンテンツ構造間の関係(エンティティ階層など)に関する情報が含まれます。

チャネル独立コンテンツの管理

コンテンツは、いくつかの方法でアプリに到達できます。

  1. AEM 無線を介してコンテンツの ZIP を取得します。
    • コンテンツ同期ハンドラーは、Zip パッケージを直接、または既存のコンテンツレンダラーを呼び出して更新できます。
      • プラットフォームハンドラー
      • AEMM ハンドラー
      • カスタムハンドラー
  2. コンテンツレンダラーを介してコンテンツを直接取得します。
    • 既製のデフォルト Sling レンダラー
    • AEM Mobile/コンテンツサービスのコンテンツレンダラー
    • カスタムレンダラー

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

リーガルノーティス   |   プライバシーポリシー