単一ページアプリケーションフレームワークを基にしたクライアント側レンダリング(React など)が必要なプロジェクトでは、SPA エディターを使用することをお勧めします。詳細情報
コンテンツ同期ハンドラーの開発については、以下のガイドラインを参照してください。
以下に、既製のアプリハンドラーのリストを示します。
mobileappagesRendersアプリページ。
type - String - mobileapppages
path - String — ページへのパス
extension - String — リクエストで使用する拡張子。ページの場合、ほとんど常にhtmlですが、他のページも引き続き使用できます。
selector - String — オプションのセレクター(ドット区切り)。一般的な例としては、ページのモバイルバージョンをレンダリングする場合のtouchがあります。
deep - Boolean — 子ページも含める必要があるかどうかを指定する、オプションのブール型プロパティ。デフォルト値は true です。
includeImages - Boolean — 画像を含める必要があるかどうかを指定する、オプションのブール型プロパティ。デフォルト値は true です。
includeVideos - Boolean — ビデオを含める必要があるかどうかを指定する、オプションのブール型プロパティです。デフォルト値は true です。
includeModifiedPagesOnly — ブール値 - falseまたは省略した場合、すべてのページをレンダリングし、レンダリング時に更新を確認します。true の場合、最後に変更されたページに対する変更に基づいて差異を処理します。
+ rewrite(ノード)
- relativeParentPath - String — 他のすべての相対パスを書き込むパス。
このハンドラーの影響を受ける画像およびビデオコンポーネントのリソースタイプは、com.adobe.cq.mobile.platform.impl.contentsync.handlerのプロパティを設定することで設定します。MobilePagesUpdateHandler OSGi サービスのプロパティによって設定します。
mobilepageassetsCollectsアプリページのアセットを収集します。
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(pge-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設定(pge-type=[app-instance]のノード)で使用する必要があります。
mobileADBMobileConfigJSONI:AMSクラウドサービスが設定されている場合、ADBMobileConfig.JSONファイルを含めます。
これは、解析をサポートするための AMS プラグインを設定するためにコンパイル時に使用されます。
ハンドラーは、AEM App Shell ContentSync Config(pge-type=app-instanceのノード)で使用する必要があります
notificationsconfigExcraptsデバイスで必要な通知設定を抽出します。プロパティは、アプリに関連付けられた各プッシュサービスクラウドサービス設定から抽出されます。
クラウドサービスのjcr:contentノード内のAEM以外のプロパティが抽出され、pge-notifications-config.json JSONファイルに追加されて、アプリコンテンツのwwwルートに含められます。
AEM プロパティは、「cq」、「sling」または「jcr」のネームスペースが付いたプロパティです。他のプロパティは、コンテンツ同期設定ノードの「excludeProperties」プロパティを使用して除外できます。
contentsyncconfigcontentContentSyncの既存の設定からコンテンツを収集します。
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ターゲットコンテンツをレンダリングするための新しいコンテンツ同期ハンドラーが、パーソナライゼーションの使用例に導入されました。「mobileappoffers」ハンドラーは、コンテンツ作成者が作成した関連するターゲットオファーをレンダリングする方法を認識しています。 mobileappoffersハンドラーは抽象ページ更新ハンドラーを拡張するので、多くのプロパティは似ています。 mobileappoffersハンドラーの詳細には、次のプロパティがあります。
mobileappsoffers ハンドラーは mobileappspages ハンドラーを拡張し、以下のプロパティが追加されます。
mobileappconfigmobileappconfigコンテンツ同期ハンドラーは、JSONデータをMobileAppsConfig.jsonに挿入する方法を提供します。プロバイダークラスを登録するには、開発者のMobileAppsInfoProviderクラスをプロバイダーのリストに追加します。 ハンドラーは、MobileAppsInfoProvidersのリストを反復し、プロバイダーが結果のjsonファイルにデータを挿入できるようにします。 このハンドラーがサポートするプロパティのリストは以下のとおりです。
[]
— 完全修飾MobileAppsInfoProvidersのリストそれぞれが異なる JSON ファイルに書き出す固有のプロバイダーセットを持つ、複数の mobileappconfig ハンドラーを設定することもできます。
IntegrityClearキャッシュを確認 する手順
デバッグの手順
パッケージのOSGIロガー設定を介したLoggingEnable ContentSync Debugログ。実行されたハンドラー com.day.cq.contentsync
と、ハンドラーがキャッシュを更新し、キャッシュの更新を報告したかどうかを追跡できます。
管理者および開発者の役割と責任について詳しくは、以下のリソースを参照してください。
AEM Mobile アプリの開発の概要については、こちらを参照してください。