アドビは、シングルページアプリケーションフレームワークをベースにしたクライアント側のレンダリング(React など)を必要とするプロジェクトには SPA エディターを使用することをお勧めします。詳細情報を参照してください。
モバイルアプリは、目的とするアプリエクスペリエンスを配信するために、AEM 内のあらゆるコンテンツを必要に応じて利用できなければなりません。
これには例えば、アセット、サイトコンテンツ、CaaS コンテンツ、無線(OTA)コンテンツ、独自の構造を持つカスタムコンテンツなどが含まれます。
放送中のコンテンツ は、ContentSync ハンドラーを使用して上記のいずれかから取得できます。 無線コンテンツを使用すると、パッケージと配信を Zip して一括で処理したり、アップデートやパッケージを保守したりできます。
コンテンツサービスは、主に 3 種類の要素を配信します。
アセットコレクションは、他のコレクションの参照を含む AEM 構成要素です。
アセットコレクションは、コンテンツサービスを介して公開できます。リクエストでアセットコレクションを呼び出すと、アセットのリストであるオブジェクト(URL を含む)が返されます。 アセットは URL を介してアクセスされ、その URL はオブジェクトの形で提供されます。次に例を示します。
コンテンツサービスは、デバイス用に最適化されたアセットを返します。これは、コンテンツサービスの重要な機能です。これにより、ローカルデバイスのストレージのニーズが減り、アプリのパフォーマンスが向上します。
アセットの最適化は、API リクエストで提供される情報に基づく、サーバー側の機能です。可能な限り、アセットレンディションをキャッシュする必要があります。これにより、同様の要求でアセットレンディションを再生成する必要がなくなります。
次に、アセットのワークフローを示します。
既製の AEM で使用可能なアセット参照
モデルを選択してアセット参照エンティティを作成
エンティティを編集
次の図に、 アセット参照ワークフロー:
コンテンツサービスは、他の AEM コンテンツを介して参照できない、AEM の管理対象アセットへのアクセスを提供します。
既存の AEM Sites および Assets ユーザーは、AEM Assets を使用して、すべてのチャネルのすべてのデジタル要素を管理しています。ネイティブモバイルアプリを開発中で、AEM Assetsが管理する複数のアセットを使用する必要があります。 例えば、ロゴ、背景画像、ボタンアイコンなどです。
現在、これらのアセットは、アセットリポジトリ全体にわたって保存されています。アプリが参照する必要があるファイルは次の場所にあります。
ここでは、ページは既に使用可能になっているものとします。API を利用してページを使用可能にする手順については触れません(この手順については、AEM UI に関する説明で触れます)。アセットエンティティが作成され、「appImages」スペースに追加されました。 組織のために、スペースの下に追加のフォルダが作成されました。 したがって、アセットエンティティはAEM JCR に次のように保存されます。
アプリ開発者は、アセットエンティティを取得することで、使用可能なアセットのリストを取得できます。Content Services のスペースエンドポイントは、Web サービス API SDK を通じてこの情報を提供できます。
結果として取得できるリストは、「icons」フォルダー内のアセットのリストを提供する JSON 形式のオブジェクトです。
JSON は、コンテンツサービスによって生成される各画像に URL を提供します。
「cart」画像のバイナリを取得するために、クライアントライブラリは再度使用されます。
コンテンツのレイアウトを維持するには、HTML コンテンツが必要です。これは、Web コンテナ(Cordova Web ビューなど)を使用してコンテンツを表示するネイティブアプリケーションで役立ちます。
AEM コンテンツサービスは、API を介してモバイルアプリに HTML コンテンツを提供できます。AEMコンテンツをHTMLとして公開したい場合は、AEMコンテンツソースを指すHTMLページエンティティを作成します。
次のオプションを検討します。
チャネルに依存しないコンテンツは、レイアウト、コンポーネント、その他のチャネル固有の情報を気にすることなく、ページなどのAEMコンテンツ構成を公開する方法です。
これらのコンテンツエンティティは、コンテンツモデルを使用して AEM 構成要素を JSON 形式に変換することで生成されます。結果の JSON データには、AEMリポジトリから切り離された、コンテンツのデータに関する情報が含まれます。 これには、メタデータの返信、アセットへのAEM参照リンク、およびコンテンツ構造(エンティティ階層を含む)間の関係が含まれます。
コンテンツは、いくつかの方法でアプリにアクセスできます。
AEM 無線を介してコンテンツの ZIP を取得します。
コンテンツ同期ハンドラーは、zip パッケージを直接更新するか、既存のコンテンツレンダラーを呼び出すことで更新できます
コンテンツレンダラーを介してコンテンツを直接取得します。