Show Menu
SUJETS×

Personnalisation du contenu AEM Mobile

Adobe recommande d’utiliser l’éditeur d’application d’une seule page (SPA) pour les projets nécessitant un rendu côté client basé sur la structure SPA (par exemple, React). En savoir plus .
This document is part of the Getting Started with AEM Mobile Guide, a recommended starting point for AEM Mobile reference.
La fonction de personnalisation du contenu AEM Mobile permet aux auteurs d' AEM de personnaliser le contenu des applications mobiles en exploitant Adobe Target . Cela permet de diffuser des offres ciblées aux utilisateurs d’applications mobiles. Adobe Experience Manager Mobile permet de créer, de cibler et de diffuser du contenu qui fournit à l'utilisateur un contenu spécifique à ses propres goûts.
Comme c’est souvent le cas dans AEM, pour que les auteurs puissent commencer à créer ce contenu, les administrateurs et les développeurs doivent d’abord préparer l’environnement.
Les administrateurs d'AEM doivent établir une connexion entre AEM Mobile et le service Adobe Target Cloud.
En attendant, les développeurs d'AEM Mobile doivent modifier leurs scripts existants pour faciliter la création de contenu ciblé.

Pour les administrateurs

Plusieurs étapes doivent être réunies pour que les auteurs de contenu puissent commencer à générer du contenu ciblé pour les applications mobiles : Il obtient le bon jeu d’autorisations pour les utilisateurs et les groupes, crée des services cloud, configure l’application pour l’activité et génère enfin le contenu.
Cet article vous guidera tout au long du processus de configuration de l'application de référence hybride AEM Mobile pour le ciblage.
L'hypothèse suivante est que l'application de référence hybride AEM Mobile a été correctement déployée et accessible via le tableau de bord AEM Mobile.
Avant que les auteurs puissent générer du contenu ciblé dans une application, votre instance AEM doit être configurée avec le service Adobe Target Cloud.

Autorisations

Les utilisateurs qui doivent accéder à la console de personnalisation doivent faire partie du target-activity-authors groupe.
Il est conseillé, dans le cadre de la configuration des utilisateurs et des groupes, d’ajouter le groupe target-activity-group au groupe apps-admins. L’ajout du groupe target-activity-authors permet aux utilisateurs de voir l’entrée du menu de navigation Personnalisation.
Si vous oubliez d’ajouter les utilisateurs ou les groupes que vous souhaitez avoir accès à la console d’administration de la personnalisation au groupe target-activity-authors, les utilisateurs ne pourront pas voir la console de personnalisation.

Services cloud

Pour que le contenu ciblé fonctionne pour les applications mobiles, deux services doivent être configurés : Le service Adobe Target et le service Adobe Mobile Services. Le service Adobe Target fournit le moteur de traitement des demandes client et de renvoi du contenu personnalisé. Le service Adobe Mobile Services fournit la connexion entre les services Adobe et l’application mobile via le fichier ADBMobileConfig.json, qui est utilisé par le plug-in Cordova AMS. Le tableau de bord AEM Mobile vous permet de configurer votre application en ajoutant les deux services.
Dans le tableau de bord AEM Mobile, recherchez la section Gérer les services Cloud et cliquez sur le bouton +.
Dans l’assistant d’ajout de services cloud, sélectionnez la carte de service cloud "Adobe Target" et cliquez sur Suivant.
Dans la liste déroulante Sélectionner une configuration, vous pouvez créer une nouvelle configuration ou sélectionner une configuration existante. Pour créer une nouvelle configuration, sélectionnez "Créer une configuration" dans la liste déroulante. Entrez un titre pour la configuration de Target. Entrez le code client, le courrier électronique et le mot de passe associés à votre compte Target. Si vous ne connaissez pas les valeurs de ces champs, contactez le support technique d’Adobe Target. Cliquez sur le bouton "Vérifier" pour valider les informations d’identification. Une fois la vérification effectuée, cliquez sur le bouton Envoyer pour créer le service cloud.
Le service cloud qui est créé est automatiquement associé à l’application mobile via l’assistant. La valeur de propriété cq:cloudserviceconfigs est définie sur le noeud jcr:content du noeud de groupe d’applications. Pour l’exemple d’application hybride, il est défini sur /content/mobileapps/hybrid-reference-app/jcr:content avec la valeur pointant vers le noeud de structure généré automatiquement situé dans /etc/cloudservices/testandtarget/adobe-target—aem-apps/framework. Le noeud framework possède deux propriétés définies par défaut, le sexe et l’âge. La structure est utilisée uniquement par la prévisualisation AEM et n’a aucun impact sur le périphérique.
Une fois l’assistant terminé, le volet Gérer le service Cloud contient le service cloud Target. Toutefois, il contient un avertissement concernant un compte Adobe Mobile Service manquant.

Adobe Mobile Services

Il est également nécessaire de lier un compte Adobe Mobile Services (AMS) à l’application. Le service AMS fournit le fichier ADBMobileConfig.json requis qui contient les informations de code client Target. Avant de créer une association avec le compte AMS, le compte AMS doit être modifié par un utilisateur disposant d’autorisations sur AMS.

Code client

Pour vous connecter aux services AMS, rendez-vous sur https://mobilemarketing.adobe.com , sélectionnez l’application mobile et cliquez sur les paramètres. Recherchez le champ Options de cible du SDK, placez le code client dans le champ et cliquez sur Enregistrer.
Maintenant que le code client a été associé à l’application mobile, lorsque le service cloud AMS est configuré via le tableau de bord Adobe Mobile, les paramètres du service sont diffusés via le fichier ADBMobileConfig.json.

Adobe Mobile Service Cloud Service

Maintenant qu’AMS a été configuré, il est temps d’associer l’application mobile au tableau de bord Adobe Mobile. Dans le tableau de bord AEM Mobile, recherchez la section Gérer les services Cloud et cliquez sur le bouton +.
Sélectionnez la carte Adobe Mobile Services et cliquez sur Suivant.
A l’étape de l’assistant Créer ou Sélectionner, sélectionnez la liste déroulante Service mobile et sélectionnez l’entrée Créer une configuration. Indiquez un titre, une société, un nom d’utilisateur, un mot de passe et sélectionnez le centre de données approprié. Si vous ne connaissez pas ces valeurs, contactez votre administrateur Adobe Mobile Service pour les obtenir. Une fois tous les champs remplis, cliquez sur le bouton Vérifier. Le processus de vérification s’adresse à AMS et vérifie les informations d’identification du compte. Une fois la validation réussie, une liste des applications mobiles est renseignée dans laquelle vous sélectionnez l’application mobile associée dans la liste déroulante. Cliquez sur le bouton Envoyer pour terminer l’assistant. Le processus peut prendre un certain temps pour obtenir les données de configuration et les analyses associées à l’application. Une fois le processus terminé, cliquez sur le bouton Terminé du mode modal pour revenir au tableau de bord Adobe Mobile.
Revenir au tableau de bord Mobile La mosaïque Gérer les services Cloud contient le service cloud AMS. Vous noterez également que le volet Analyser les mesures sera rempli de rapports de cycle de vie.

Pour les auteurs

​Condition préalable : Comme mentionné ci-dessus, les administrateurs doivent configurer la connexion au service Adobe Target pour que les auteurs puissent générer un nouveau contenu ciblé.
Une fois que l’administrateur a configuré les deux services cloud et que le développeur a configuré le gestionnaire mobileappoffers, les auteurs de contenu peuvent désormais commencer à générer des expériences ciblées.
La création de contenu ciblé dans une application AEM Mobile suit une procédure similaire à la création de sites AEM :
Voir ici pour une présentation complète de la création de contenu ciblé dans AEM

Pour les développeurs

Les développeurs AEM qui créent des applications mobiles doivent continuer à suivre les modèles couramment utilisés dans AEM lors du développement de composants. Ici, nous allons vous guider dans les étapes nécessaires pour permettre aux auteurs de contenu de créer du contenu ciblé :

Adobe Target ContentSync Handlers

La diffusion de contenu sur le contenu du périphérique de l’utilisateur est générée par le rendu des offres créées par les auteurs de contenu AEM. Pour gérer le rendu des offres cible, il existe un nouveau gestionnaire de synchronisation du contenu qui traitera les offres. En utilisant l’application de référence hybride comme exemple, le package de contenu en (anglais) contient ContentSyncConfig avec un gestionnaire mobileappoffers . L’étape suivante est cruciale pour le rendu des offres sur le périphérique. Le gestionnaire mobileappoffers possède une propriété path qui identifie le chemin d’accès à l’activité de personnalisation à utiliser pour l’application.
Par exemple, si une activité se trouve dans /content/campaigns/hybridref , copiez ce chemin et collez-le comme valeur dans la propriété path du gestionnaire mobileappoffers.
Pour l’application de référence hybride, il existe deux gestionnaires mobileappoffers : un pour le développement et un pour les productions.
Une fois que le chemin d’accès aux activités a été défini dans la propriété path du gestionnaire mobileapffers, enregistrez le gestionnaire. Le gestionnaire sera maintenant prêt à commencer à générer des offres pour nos périphériques mobiles.

Mode de rendu

Le gestionnaire mobileappoffers est configuré différemment pour les configurations de publication et de développement. Pour les configurations de publication, il existe une propriété appelée renderMode avec la valeur de publish définie sur le noeud cq:ContentSyncConfig. Le gestionnaire mobileappoffers fait référence à renderMode et, s’il est défini pour la publication, modifie l’ID de mbox qui est créé. Par défaut, une valeur —author est ajoutée à l’ID de mbox pour les mbox créées par AEM. Ceci identifie que l’activité n’a pas été publiée et doit utiliser la campagne non publiée pour les résolutions d’offre.
Lorsque le contenu est mis en scène via Adobe Mobile Dashboard, le contenu mis en scène est considéré comme du contenu prêt à l’emploi et rendu via la configuration de synchronisation de contenu non développée. Le rendu de cette manière entraînera la suppression de l’auteur —author de tous les ID de mbox et prévoit qu’une activité publiée sera disponible sur le serveur Target. Avant de tester le contenu intermédiaire, vérifiez que l’activité a été publiée.

Développement d’applications de personnalisation

Composants

La base d’un contenu est généralement un composant de page qui étend l’un des composants de base de la page AEM wcm/foundation/components/page ou la fondation/components/page selon que vous utilisez HTL ou JSP. La durée de ces étapes sera axée sur l’utilisation du composant wcm/foundation/components/page. La structure de base du composant de page est divisée en plusieurs scripts, chaque script fournissant l’objectif spécifique de permettre au développeur d’organiser et de remplacer son code, si nécessaire. Les deux scripts présentant un intérêt pour la personnalisation sont head.html et body.html. Ces deux scripts fournissent une zone dans laquelle le code peut être injecté pour prendre en charge la création Context Hub, Cloud Services et Mobile.
Voici un aperçu des deux scripts principaux utilisés pour activer le ciblage de contenu.

head.html

Pour permettre à l’auteur de cibler son contenu, le menu cible doit être ajouté à la page afin qu’il puisse changer le contexte du mode d’édition en mode de ciblage. Pour activer cette fonctionnalité, le développeur doit modifier le script head.html afin d’inclure le fragment de code suivant dans la partie supérieure de head.html ou aussi près que possible de l’élément <title></title>.
<meta data-sly-test="${!wcmmode.disabled}">
    <div data-sly-call="${clientLib.all @ categories='personalization.kernel'}" data-sly-unwrap></div>
    <div data-sly-resource="${'config' @ resourceType='cq/personalization/components/clientcontext_optimized/config'}" data-sly-unwrap></div>
    <div data-sly-resource="${'contexthub' @ resourceType='granite/contexthub/components/contexthub'}" data-sly-unwrap></div>
</meta>

Notez que le script ne doit être inclus que lorsque le mode WCM n’a pas été désactivé, de sorte que lorsque le mode WCM est désactivé (voir la section du gestionnaire ContentSync pour plus de détails), le script ne sera pas inclus dans le code d’application final.
Pour permettre aux auteurs de prévisualiser le contenu ciblé, l’éditeur doit être en mesure de localiser la configuration du service cloud Adobe Target. Le bloc de code ci-dessous ajoute deux scripts importants. La première consiste à ajouter la possibilité pour la page de localiser le service cloud Target associé et d’effectuer les appels vers Adobe Target. La seconde est l’ajout de la catégorie cq.apps.targeting.
La catégorie cq.apps.targeting remplace le composant cq/personalization/component/target par défaut et utilise le composant mobileapps/components/target qui effectue le rendu des offres spécifiquement pour la consommation des applications mobiles. Pour plus d’informations à ce sujet, consultez la section Composant cible.
Le code doit être ajouté dans head.html et placé juste avant la fin de l’élément </head>.
<div data-sly-test="${!wcmmode.disabled}">
    <div data-sly-include="/libs/cq/cloudserviceconfigs/components/servicelibs/servicelibs.jsp" data-sly-unwrap></div>
    <meta data-sly-call="${clientLib.all @ categories='cq.apps.targeting'}" data-sly-unwrap></meta>
</div>

Notez que le bloc de code est encapsulé dans un mode WCM qui n’est pas désactivé. Par conséquent, il ne démarre que lorsque l’auteur du contenu travaille à la création de contenu. Les scripts du service cloud ne seront pas ajoutés au code d’exécution mobile généré.

body.html

Pour permettre à l’auteur du contenu de tester différentes personnes, le script body.html doit inclure le bloc de code suivant comme premier enfant de l’élément body.
<div data-sly-test="${!wcmmode.disabled}">
    <div data-sly-resource="${'clientcontext' @ resourceType='cq/personalization/components/clientcontext_optimized'}" data-sly-unwrap></div>
</div>

Le dernier bit de code requis se trouve tout en bas de body.html. Ce bit de code recherche le service cloud associé et injecte le code de moteur de ciblage approprié.
<div data-sly-test="${!wcmmode.disabled}">
    <div data-sly-resource="${'cloudservices' @ resourceType='cq/cloudserviceconfigs/components/servicecomponents'}" data-sly-unwrap></div>
</div>

Application de référence

Vous trouverez des exemples de head.html et body.html dans l'application de référence hybride AEM Mobile qui montre au développeur où placer les blocs de script dans les deux scripts.

Gestionnaires de synchronisation de contenu

Lorsque l’auteur du contenu a fini de créer du contenu pour l’application mobile, l’étape suivante consiste à télécharger la source et à créer l’application, ou à préparer le contenu à publier. Le développeur est impliqué dans un certain nombre d’étapes pour que cela se produise. Pour faciliter le rendu du contenu, AEM Mobile utilise des gestionnaires de synchronisation de contenu pour générer et compresser le contenu. Un nouveau gestionnaire de synchronisation de contenu a été introduit pour le cas d’utilisation de la personnalisation pour le rendu du contenu ciblé. Le gestionnaire "mobileappoffers" sait comment générer les offres cible associées qui ont été créées par l’auteur du contenu. Le gestionnaire mobileappoffers étend le gestionnaire de mise à jour des pages abstraites. Par conséquent, bon nombre des propriétés sont similaires. Les détails du gestionnaire mobileappoffers possèdent les propriétés suivantes.
Propriétés Valeur Description
réécrire + relativeParentPath
- "/"
La propriété rewrite identifie le mode de réécriture des chemins dans le contenu.
includePageTypes
"cq/personalization/components/teaserpage",
"cq/personalization/components/offerproxy"
La propriété includePageTypes est facultative, par défaut pour les pages qui ont des types de ressources cq/personalization/components/teaserpage et cq/personalization/components/offerproxy. Ces deux types de ressource sont les types de ressource par défaut utilisés lorsque le contenu est ciblé. Si d'autres types de ressources doivent être pris en charge, ils doivent être ajoutés à la liste des inclusionsPageTypes.
locationRoot /content/mobileapps/<app> Emplacement de l’application.
Type mobileappoffers Nom du gestionnaire mobileappoffers.
sélecteur tandt Le sélecteur de tandt est utilisé pour effectuer le rendu du contenu ciblé.
targetRootDirectory www Répertoire racine dans lequel conserver le contenu rendu.
includeImages true| false Si la valeur est true, toutes les images incluses dans l’offre sont rendues. Si de fausses images sont ignorées.
includeVideos true| false Si la valeur est true, toutes les vidéos incluses dans l’offre sont générées. Si de fausses vidéos sont ignorées.
path /content/campaigns/<marque> pointe vers la marque de la campagne à laquelle participent les offres. Actuellement, toutes les offres doivent provenir de la même campagne.
profondeur true| false Si la valeur true est générée de manière récursive, toutes les pages enfants sont générées, si la valeur false est appliquée.
extension html Définit l’extension de la ressource en cours de rendu. Définissez cette variable sur html de sorte que les pages aient une extension .html.
L'application de référence hybride AEM Mobile a la configuration par défaut du gestionnaire mobileappoffer. La propriété path de l’exemple est vide, car elle dépend de l’emplacement de la campagne. Une fois qu’un auteur de campagne a créé une campagne, l’administrateur des applications doit associer la campagne au gestionnaire en spécifiant la propriété path pour pointer vers la campagne.

Composant Target

Pour faciliter le rendu du contenu spécifiquement pour les applications mobiles, AEM Mobile utilise le composant mobileapps/components/target. Le composant cible mobile étend le composant cq/personalization/components/target et remplace le script engine_tnt.jsp. En remplaçant le fichier engine_tnt.jsp, AEM Mobile peut contrôler le code HTML généré pour le cas d'utilisation des applications mobiles. Pour chaque composant ciblé par un auteur de contenu, une mbox associée est créée par le fichier engine_tnt.jsp.
Pour chaque mbox, un attribut de ciblage ​cq est ajouté, ce qui permet aux développeurs d’applications d’écrire du code personnalisé à consommer et à utiliser comme bon leur semble. L'application de référence hybride AEM Mobile présente un exemple de directive angulaire qui utilise l'attribut cq-targeting. Le concept de remplacement de contenu, quand et comment il est fait, dépend en grande partie du développeur d’applications mobiles. Il existe un SDK mobile fourni via AEM /etc/clientlibs/mobileapps/js/mobileapps.js qui fournit une API pour appeler le service de ciblage Adobe. Il appartient au développeur d’applications de spécifier le moment où cet appel doit être effectué en fonction de la conception de l’application.