単一ページアプリケーションフレームワークを基にしたクライアント側レンダリング(React など)が必要なプロジェクトでは、SPA エディターを使用することをお勧めします。詳細情報
コンテンツ同期ハンドラーの開発については、以下のガイドラインを参照してください。
以下に、既製のアプリハンドラーのリストを示します。
mobilepagesアプリのページを レンダリングします。
type - String - mobileappsages
path - String — ページへのパス
extension - String — リクエストで使用する拡張子。ページの場合、これはほとんど常にhtmlですが、それ以外はまだ可能です。
selector - String — オプションで、ドット区切りのセレクター。一般的な例は、ページのモバイルバージョンをレンダリングする場合のtouchです。
deep - Boolean — 子ページも含めるかどうかを決定するブール型のプロパティ(オプション)。デフォルト値は true です。
includeImages — ブール型 — 画像を含めるかどうかを決定するオプションのブール型プロパティ。デフォルト値は true です。
includeVideos - Boolean — オプションのブール型プロパティで、ビデオを含めるかどうかを指定します。デフォルト値は true です。
includeModifiedPagesOnly - Boolean - falseの場合、または省略した場合は、すべてのページをレンダリングし、レンダリング時に更新を確認します。true の場合、最後に変更されたページに対する変更に基づいて差異を処理します。
+ rewrite(ノード)
- relativeParentPath - String — 他のすべてのパスを書き込む相対パス。
このハンドラーの影響を受ける画像およびビデオコンポーネントのリソースタイプは、com.adobe.cq.mobile.platform.impl.contentsync.handlerのプロパティを設定することで設定されます。MobilePagesUpdateHandler OSGi サービスのプロパティによって設定します。
mobilepageassetsアプリ のページアセットを収集します。
mobilecontentlistingContentSync zipの内容を表示します。これは、デバイスのクライアント側 js によって使用され、AEM アプリで必要な最初のファイルコピーを実行します。
このハンドラーは、すべての AEM アプリコンテンツ同期設定に追加する必要があります。
{
"files": [
"config.xml",
"res/screens/ios/screen-ipad-portrait-2x.png",
"res/screens/ios/screen-ipad-landscape.png",
"res/screens/ios/screen-iphone-portrait-2x.png",
"res/screens/ios/screen-iphone-landscape.png",
"res/screens/ios/screen-iphone-portrait.png",
"apps/weretail-app/components/splash-page/clientlibs.css",
...
"pge-content-packages.json"
],
"count": 382,
"lastModified": 1422902754733
}
mobilecontentpackageslisting特定のアプリ内のAEMコンテンツパッケージと、更新要求を行うserverURLを表示します。 これは、クライアント側のデバイス上のJSを使用して、コンテンツの更新をリクエストします
このハンドラーは、AEM App ShellのContentSync Config(page-type=app-instanceのノード)で使用する必要があります。
以下のコードブロックは厳密な実装ではなく、参考例として使用してください。
{
"content": [
{
"name": "en",
"title": "We Retail Mobile App - English",
"type": "CONTENT",
"path": "/content/phonegap/weretail-outdoors/en",
"updatePath": "/content/phonegap/weretail/en/jcr:content/pge-app/app-config"
},
{
"name": "shell",
"title": "We Retail Mobile App",
"type": "INSTANCE",
"path": "/content/phonegap/weretail-outdoors/shell",
"updatePath": "/content/phonegap/weretail/shell/jcr:content/pge-app/app-config"
}
],
"serverURL": "http://localhost:4503/"
}
widgetconfigコマンドセンターで行った編集を提供されたconfig.xmlとマージする、更新されたconfig.xmlが含まれます。 このハンドラーがアプリに含まれていない場合、管理インターフェイスで変更された詳細はキャッシュに含まれません。
このハンドラーは、AEM App Shell ContentSyncの設定(page-type=[app-instance]のノード)で使用する必要があります。
AMSクラウドサービスが設定されている 場合、mobileADBMobileConfigJSONInclude the ADBMobileConfig.JSON file if the ADBMobileConfig.JSON file include the ADBMobileConfig.JSON file include the AD
これは、解析をサポートするための AMS プラグインを設定するためにコンパイル時に使用されます。
このハンドラーは、AEM App ShellのContentSync Config(page-type=app-instanceのノード)で使用する必要があります。
通知sconfigデバイスで必要な通知設定を抽出します。プロパティは、アプリに関連付けられた各プッシュサービスクラウドサービス設定から抽出されます。
クラウドサービスのjcr:contentノード内のAEM以外のプロパティが抽出され、pge-notifications-config.json JSONファイルに追加されて、アプリコンテンツのwwwルートに含められます。
AEM プロパティは、「cq」、「sling」または「jcr」のネームスペースが付いたプロパティです。他のプロパティは、コンテンツ同期設定ノードの「excludeProperties」プロパティを使用して除外できます。
contentsyncconfigcontent既存のContentSync設定から コンテンツを収集します。
type - String - contentsyncconfigcontent
path - String — 次のいずれかのパス:
autoCreateFirstUpdateBeforeImport — ブール値 - trueの場合は、ターゲット設定内に初期 更新を作成してから読み込みます(まだ1回しか存在しない場合)
autoFillBeforeImport — ブール値 - trueの場合は、読み込む前にターゲット設定を更新/埋め込みます
configSuffix - String - app-contentの「phonegap-exportTemplate」プロパティで指定されたパスに追加する文字列。これは、異なる書き出しテンプレートを区別するために使用できます。 例えば、このプロパティを"-dev"に設定して、"/…/./…/./appconfig-dev"を使用する必要があることを示すことができます("/…/…/appconfig"を除く)。
app- assetsアプリインスタンスに関連付けられているすべてのアセットを含めます。このハンドラーには、指定されたパスに見つかったアセットと、アプリインスタンスのappAssetPathプロパティで参照されているアセットが含まれます。
type - String - app-assets
path-String — アプリアセットが保存されるアプリインスタンスの下の場所のパス
mobileappoffers ターゲットコンテンツをレンダリングするための新しいコンテンツ同期ハンドラーが、パーソナライゼーションの使用例に導入されました。「mobileappofers」ハンドラーは、コンテンツ作成者が作成した関連するターゲットオファーをレンダリングする方法を知っています。 mobileappofersハンドラは抽象ページ更新ハンドラを拡張するので、多くのプロパティは似ています。 mobileappofersハンドラーの詳細には、次のプロパティがあります。
mobileappsoffers ハンドラーは mobileappspages ハンドラーを拡張し、以下のプロパティが追加されます。
mobileappconfig mobileappconfigコンテンツ同期ハンドラーを使用すると、MobileAppsConfig.jsonにJSONデータを挿入できます。プロバイダークラスを登録するには、開発者のMobileAppsInfoProviderクラスをプロバイダーのリストに追加します。 ハンドラーは、MobileAppsInfoProvidersのリストを反復し、プロバイダーが結果のjsonファイルにデータを挿入できるようにします。 このハンドラーがサポートするプロパティのリストは以下のとおりです。
[]
— 完全修飾されたMobileAppsInfoProvidersのリストそれぞれが異なる JSON ファイルに書き出す固有のプロバイダーセットを持つ、複数の mobileappconfig ハンドラーを設定することもできます。
IntegrityClearキャッシュを確認する手順 です
デバッグの手順
LoggingEnableパッケージのOSGIロガー設定を介したContentSyncデバッグログ を有効にし com.day.cq.contentsync
ます。これにより、実行されたハンドラと、それらがキャッシュを更新し、キャッシュの更新を報告したかを追跡できます。
管理者および開発者の役割と責任について詳しくは、以下のリソースを参照してください。
AEM Mobile アプリの開発の概要については、こちらを参照してください。