Inhaltsbereitstellung content-delivery
Mobile Apps sollten alle Inhalte in AEM nach Bedarf verwenden können, um das zielgerichtete App-Erlebnis bereitzustellen.
Dazu gehören die Verwendung von Assets, Site-Inhalten, CAAs-Inhalten (Over-the-Air) und benutzerdefinierten Inhalten, die möglicherweise eine eigene Struktur aufweisen.
Es gibt drei Hauptmaterialtypen, die Content Services bereitstellt:
- Assets
- HTML-Inhalt (HTML/CSS/JS) gepackt
- Kanalunabhängiger Inhalt
Assets assets
Asset-Sammlungen sind AEM Konstrukte, die Verweise auf andere Sammlungen enthalten.
Eine Asset-Sammlung kann über Content Services verfügbar gemacht werden. Der Aufruf einer Asset-Sammlung in einer Anfrage gibt ein Objekt zurück, das eine Liste der Assets einschließlich ihrer URLs ist. Der Zugriff auf Assets erfolgt über eine URL. Die URL wird in einem Objekt bereitgestellt. Zum Beispiel:
- Eine Seitenentität gibt die JSON (Seitenobjekt) zurück, die eine Bildreferenz enthält. Die Bildreferenz ist eine URL, mit der die Asset-Binärdatei für das Bild abgerufen wird.
- Bei einer Anforderung einer Liste von Assets in einem Ordner wird die JSON-Datei mit Details zu allen Entitäten in diesem Ordner zurückgegeben. Diese Liste ist ein Objekt. Die JSON-Datei enthält URL-Verweise, mit denen die Asset-Binärdatei für jedes Asset in diesem Ordner abgerufen wird.
Asset-Optimierung asset-optimization
Ein Schlüsselwert von Content Services ist die Möglichkeit, Assets zurückzugeben, die für das Gerät optimiert sind. Dadurch werden die Anforderungen an die lokale Gerätespeicherung reduziert und die App-Leistung verbessert.
Die Asset-Optimierung ist eine serverseitige Funktion, die auf den in der API-Anfrage bereitgestellten Informationen basiert. Wo immer möglich, sollten die Asset-Ausgabedarstellungen zwischengespeichert werden, sodass ähnliche Anforderungen keine Neuerstellung der Asset-Ausgabedarstellung erfordern.
Assets-Workflow assets-workflow
Der Asset-Workflow sieht wie folgt aus:
-
Asset-Referenz verfügbar in AEM nativen
-
Erstellen einer Asset-Referenzentität anhand ihres Modells
-
Entität bearbeiten
- Auswählen eines Assets oder einer Asset-Sammlung
- JSON-Rendering anpassen
Das folgende Diagramm zeigt den Assets Reference Workflow:
Verwalten von Assets managing-assets
Content Services bieten Zugriff auf AEM verwaltete Assets, auf die möglicherweise nicht über andere AEM verwiesen wird.
Vorhandene verwaltete Assets existing-managed-assets
Ein Anwender von AEM Sites und Assets verwendet AEM Assets, um alle digitalen Inhalte für alle Kanäle zu verwalten. Sie entwickeln eine native mobile App und müssen mehrere Assets verwenden, die von AEM Assets verwaltet werden. Zum Beispiel Logos, Hintergrundbilder und Schaltflächensymbole.
Diese befinden sich derzeit im Assets-Repository. Die Dateien, auf die die App verweisen muss, lauten wie folgt:
- /content/dam/geometrixx-outdoors/brand/logo_light.png
- /content/dam/geometrixx-outdoors/brand/logo_dark.png
- /content/dam/geometrixx-outdoors/styles/backgrounds/gray_blue.jpg
- /content/dam/geometrixx-outdoors/brand/icons/app/cart.png
- /content/dam/geometrixx-outdoors/brand/icons/app/home.png
Zugreifen auf CS Asset-Entitäten accessing-cs-asset-entities
Lassen wir die Schritte beiseite, die zeigen, wie die Seite zunächst über die API zur Verfügung gestellt wird (sie wird durch die Beschreibung der AEM UI abgedeckt), und gehen Sie davon aus, dass sie abgeschlossen ist. Asset-Entitäten wurden erstellt und zum Bereich "appImages"hinzugefügt. Zusätzliche Ordner wurden aus organisatorischen Gründen unter dem Bereich erstellt. Daher werden die Asset-Entitäten im AEM JCR wie folgt gespeichert:
- /content/entity/appImages/logos/logo_light
- /content/entity/appImages/logos/logo_dark
- /content/entity/appImages/bkgnd/gray_blue
- /content/entity/appImages/icons/cart
- /content/entity/appImages/icons/home
Abrufen einer Liste der verfügbaren Asset-Entitäten getting-a-list-of-available-asset-entities
Ein App-Entwickler kann eine Liste der verfügbaren Assets abrufen, indem er die Asset-Entitäten abruft. Der Leerzeichen-Endpunkt von Content Services kann diese Informationen über das Web Service API SDK bereitstellen.
Das Ergebnis wäre ein Objekt im JSON-Format, das eine Liste der Assets im Ordner "Symbole"bereitstellt.
Abrufen eines Bildes getting-an-image
Die JSON stellt für jedes von Content Services generierte Bild eine URL für das Bild bereit.
Um die Binärdatei für das "Warenkorb"-Bild zu erhalten, wird die Client-Bibliothek erneut verwendet.
Paketmäßiger HTML-Inhalt packaged-html-content
HTML-Inhalte sind für Kunden erforderlich, die das Layout des Inhalts beibehalten müssen. Dies ist nützlich für native Anwendungen, die einen Webcontainer verwenden (z. B. eine Cordova-Webansicht), um den Inhalt anzuzeigen.
AEM Content Services stellt der mobilen App über die API HTML-Inhalte zur Verfügung. Kunden, die AEM Inhalt als HTML verfügbar machen möchten, können eine HTML-Seitenentität erstellen, die auf die AEM Inhaltsquelle verweist.
Die folgenden Optionen werden berücksichtigt:
- ZIP-Datei: Damit die beste Möglichkeit besteht, auf dem Gerät richtig anzuzeigen, werden die referenzierten Materialien (material-css, JavaScript, Assets usw. der Seite) in einer komprimierten Datei mit der Antwort enthalten. Die Verweise auf der HTML-Seite können angepasst werden, um einen relativen Pfad zu diesen Dateien zu verwenden.
- Streaming: Abrufen eines Manifests der erforderlichen Dateien von AEM. Verwenden Sie dann dieses Manifest, um alle Dateien (HTML, CSS, JS usw.) mit nachfolgenden Anfragen anzufordern.
Kanalunabhängige Inhalte channel-independent-content
Kanalunabhängiger Inhalt ist eine Möglichkeit, AEM Inhaltskonstrukte - wie z. B. Seiten - verfügbar zu machen, ohne sich um Layout, Komponenten oder andere kanalspezifische Informationen zu sorgen.
Diese Inhaltsentitäten werden mithilfe eines Inhaltsmodells generiert, um die AEM Strukturen in ein JSON-Format zu übersetzen. Die resultierenden JSON-Daten enthalten Informationen zu den Daten des Inhalts, die vom AEM Repository entkoppelt sind. Dazu gehören die Rückgabe von Metadaten und AEM Referenzlinks zu Assets sowie die Beziehungen zwischen Inhaltsstrukturen - einschließlich der Entitätshierarchie.
Verwalten von kanalunabhängigen Inhalten managing-channel-independent-content
Inhalte können auf verschiedene Arten in die App gelangen.
-
GET-ZIPS über AEM Übersee
-
Content Sync-Handler können das ZIP-Paket direkt aktualisieren oder vorhandene Content-Renderer aufrufen
- Platform-Handler
- AEM Handler
- Benutzerdefinierte Handler
-
-
GET direkt über Content Renderer
- Vordefinierte Standard-Sling-Renderer
- AEM Mobile/Content Services Content Renderer
- Benutzerdefinierte Renderer