AEM 6.4 ha llegado al final de la compatibilidad ampliada y esta documentación ya no se actualiza. Para obtener más información, consulte nuestra períodos de asistencia técnica. Buscar las versiones compatibles here.
Adobe recomienda utilizar el Editor de SPA para proyectos que requieren una representación del lado del cliente basada en el marco de aplicaciones de una sola página (por ejemplo, React). Más información.
La creación de un sitio móvil es similar a la creación de un sitio estándar, ya que también implica la creación de plantillas y componentes. Para obtener más información sobre la creación de plantillas y componentes, consulte las siguientes páginas: Plantillas, Componentes y Introducción al desarrollo de AEM Sites. La principal diferencia consiste en habilitar las funcionalidades móviles integradas AEM dentro del sitio. Se logra creando una plantilla que depende del componente de página móvil.
También debe considerar la posibilidad de utilizar diseño interactivo, creando un sitio único que se adapta a varios tamaños de pantalla.
Para empezar, puede consultar la Sitio de demostración móvil de We.Retail que está disponible en AEM.
Para crear un sitio móvil, siga este procedimiento:
Cree el componente de página:
Establezca la propiedad sling:resourceSuperType
en wcm/mobile/components/page
De este modo, el componente depende del componente de página móvil.
Cree la variable body.jsp
con la lógica específica del proyecto.
Cree la plantilla de página:
sling:resourceType
al componente de página recién creado.allowedPaths
propiedad.Cree la página de diseño para el sitio.
Cree la página raíz del sitio debajo del /content
nodo:
cq:allowedTemplates
propiedad.cq:designPath
propiedad.En las propiedades de página de la página raíz del sitio, configure los grupos de dispositivos en la variable Móvil pestaña .
Cree las páginas del sitio utilizando la nueva plantilla.
El componente de página móvil ( /libs/wcm/mobile/components/page
):
head.jsp
, recupera el grupo de dispositivos móviles actual de la solicitud y, si se encuentra un grupo de dispositivos, utiliza el drawHead()
para incluir el componente de init del emulador asociado del grupo de dispositivos (solo en modo de autor) y el CSS de renderización del grupo de dispositivos.La página raíz del sitio móvil debe estar en el nivel 1 de la jerarquía de nodos y se recomienda que esté debajo del nodo /content.
Utilice Multi Site Manager (MSM) para crear una Live Copy móvil desde un sitio estándar. El sitio estándar se transforma automáticamente en un sitio móvil: el sitio móvil tiene todas las características de los sitios móviles (por ejemplo, la edición dentro de un emulador) y se puede administrar de forma sincronizada con el sitio estándar. Consulte la sección Creación de una Live Copy para diferentes canales en la página Administrador de varios sitios .
Los paquetes Java que contienen las clases móviles son:
com.day.cq.wcm.mobile.api - define MobileConstants.
com.day.cq.wcm.mobile.api.device : define Device, DeviceGroup y DeviceGroupList.
com.day.cq.wcm.mobile.api.device.capacity : define DeviceCapability.
com.day.cq.wcm.mobile.api.wurfl - define WurflQueryEngine.
com.day.cq.wcm.mobile.core - define MobileUtil, que proporciona varios métodos de utilidad relacionados con WCM Mobile.
La variable Sitio de demostración móvil de We.Retail utiliza los siguientes componentes móviles, que se encuentran a continuación /libs/foundation/components
:
Nombre | Grupo | Características |
mobilefooter | oculto | - pie de página |
mobileimage | Móvil | - basado en el componente de base de la imagen - renderiza una imagen si el dispositivo es capaz |
mobilelist | Móvil | - basado en el componente base de la lista - listitem_teaser.jsp procesa una imagen si el dispositivo es capaz |
mobilelogo | oculto | - basado en el componente de base del logotipo - renderiza una imagen si el dispositivo es capaz |
mobilereference | Móvil | - similar al componente de base de referencia : asigna un componente textimage a un componente mobiletextimage uno y un componente de imagen a una imagen móvil uno |
mobiletextimage | Móvil | - basado en el componente de base textimage - renderiza una imagen si el dispositivo es capaz |
mobiletopnav | oculto | - se basa en el componente de base de la navegación superior - solo procesa texto |
El marco móvil AEM permite desarrollar componentes que son sensibles al dispositivo que emite la solicitud. Los siguientes ejemplos de código muestran cómo utilizar la API móvil AEM en un jsp de componente y, en particular, cómo:
Obtenga el dispositivo de la solicitud:
Device device = slingRequest.adaptTo(Device.class);
Obtenga el grupo de dispositivos:
DeviceGroup deviceGroup = device.getDeviceGroup();
Obtenga las funciones de grupo de dispositivos:
Collection<DeviceCapability> capabilities = deviceGroup.getCapabilities();
Obtenga los atributos del dispositivo (clave/valores de capacidad sin procesar de la base de datos WURFL):
Map<String,String> deviceAttributes = device.getAttributes();
Obtenga el agente de usuario del dispositivo:
String userAgent = device.getUserAgent();
Obtenga la lista de grupos de dispositivos (grupos de dispositivos asignados al sitio por el autor) desde la página actual:
DeviceGroupList deviceGroupList = currentPage.adaptTo(DeviceGroupList.class);
Comprobar si el grupo de dispositivos admite imágenes
if (deviceGroup.hasCapability(DeviceCapability.CAPABILITY_IMAGES)) {
…
O
if MobileUtil.hasCapability(request, DeviceCapability.CAPABILITY_IMAGES) {
…
En un jsp, slingRequest
está disponible a través de la variable <sling:defineObjects>
y currentPage
a través de <cq:defineObjects>
etiqueta.
La creación basada en emuladores proporciona a los autores los medios para crear páginas de contenido destinadas a clientes móviles. La creación de contenido móvil sigue el mismo principio de edición WYSIWYG in situ. Para que los autores puedan percibir el aspecto de la página en un dispositivo móvil, se edita una página de contenido móvil con un emulador de dispositivo.
Los emuladores de dispositivos móviles se basan en el marco genérico del emulador. Para obtener más información, consulte Emuladores página.
El emulador de dispositivo muestra el dispositivo móvil en la página, mientras que la edición habitual (parsys, componentes) se produce en la pantalla del dispositivo. El emulador de dispositivo depende de los grupos de dispositivos configurados para el sitio. Se pueden asignar varios emuladores a un grupo de dispositivos. Todos los emuladores están disponibles en la página de contenido. De forma predeterminada, se muestra el primer emulador asignado al primer grupo de dispositivos asignado al sitio. Los emuladores se pueden cambiar mediante el carrusel del emulador en la parte superior de la página o mediante el botón de edición de la barra de tareas.
Creación de un emulador
Para crear un emulador, consulte la Creación de un emulador móvil personalizado en la página Emuladores genéricos .
Características principales de los emuladores móviles
Un grupo de dispositivos se compone de uno o varios emuladores: la página de configuración del grupo de dispositivos, p. ej. /etc/mobile/groups/touch, contiene la variable emulators
debajo de la variable jcr:content
nodo .
Nota: aunque es posible que el mismo emulador pertenezca a varios grupos de dispositivos, no tiene mucho sentido.
A través del cuadro de diálogo de configuración del grupo de dispositivos, la variable emulators
se establece con la ruta del emulador o emuladores deseados. Por ejemplo: /libs/wcm/mobile/components/emulators/iPhone4
.
Los componentes del emulador (p. ej. /libs/wcm/mobile/components/emulators/iPhone4
) amplíe el componente de emulador móvil base ( /libs/wcm/mobile/components/emulators/base
).
Todos los componentes que amplían el emulador móvil base se pueden seleccionar al configurar un grupo de dispositivos. Por lo tanto, los emuladores personalizados se pueden crear o ampliar fácilmente.
A la hora de la solicitud en modo de edición, se utiliza la implementación del emulador para procesar la página.
Cuando la plantilla de la página depende del componente de página móvil, las funcionalidades del emulador se integran automáticamente en la página (a través de la función head.jsp
del componente de página móvil).
Los grupos de dispositivos móviles proporcionan segmentación de dispositivos móviles en función de las capacidades de los dispositivos. Un grupo de dispositivos proporciona la información necesaria para la creación basada en emuladores en la instancia de autor y para la representación de contenido correcta en la instancia de publicación: una vez que los autores han añadido contenido a la página móvil y lo han publicado, la página se puede solicitar en la instancia de publicación. En este caso, en lugar de la vista de edición del emulador, la página de contenido se representa mediante uno de los grupos de dispositivos configurados. La selección del grupo de dispositivos se produce en función de detección de dispositivos móviles. El grupo de dispositivos correspondiente proporciona la información de estilo necesaria.
Los grupos de dispositivos se definen como páginas de contenido a continuación /etc/mobile/devices
y utilice el Grupo de dispositivos móviles plantilla. La plantilla de grupo de dispositivos sirve como plantilla de configuración para las definiciones de grupo de dispositivos en forma de páginas de contenido. Sus principales características son:
/libs/wcm/mobile/templates/devicegroup
/etc/mobile/groups/*
wcm/mobile/components/devicegroup
Al crear un sitio móvil, debe asignar grupos de dispositivos al sitio. AEM proporciona tres grupos de dispositivos en función del HTML del dispositivo y las capacidades de renderización JavaScript:
Función teléfonos, para dispositivos de características como el Sony Ericsson W800 con soporte para HTML básico pero sin soporte para imágenes y JavaScript.
Smart teléfonos, para dispositivos como Blackberry con compatibilidad con HTML e imágenes básicos, pero sin compatibilidad con JavaScript.
Táctil teléfonos, para dispositivos como iPad con compatibilidad total con HTML, imágenes, JavaScript y rotación de dispositivos.
Como emuladores se pueden asociar a un grupo de dispositivos (consulte la sección Creación de un grupo de dispositivos), al asignar un grupo de dispositivos a un sitio, los autores pueden seleccionar entre los emuladores asociados al grupo de dispositivos para editar la página.
Para asignar un grupo de dispositivos a su sitio:
En el explorador, vaya a la Siteadmin consola.
Abra la página raíz del sitio móvil a continuación. Sitios web.
Abra las propiedades de página.
Seleccione el Móvil pestaña:
Cuando los grupos de dispositivos se han definido para un sitio, todos los sitios del sitio los heredan.
Los filtros de grupo de dispositivos definen criterios basados en la capacidad para determinar si un dispositivo pertenece al grupo. Al crear un grupo de dispositivos, puede seleccionar los filtros que desea utilizar para evaluar los dispositivos.
En tiempo de ejecución cuando AEM recibe una solicitud HTTP de un dispositivo, cada filtro asociado a un grupo compara las capacidades del dispositivo con criterios específicos. Se considera que el dispositivo pertenece al grupo cuando tiene todas las capacidades que requieren los filtros. Las capacidades se recuperan de la base de datos WURFL™.
Los grupos de dispositivos pueden usar cero o más filtros para la detección de capacidades. Además, se puede utilizar un filtro con varios grupos de dispositivos. AEM proporciona un filtro predeterminado que determina si el dispositivo tiene las capacidades seleccionadas para un grupo:
Si el grupo de dispositivos no utiliza un filtro, las funciones seleccionadas que están configuradas para el grupo son las únicas que requiere un dispositivo.
Para obtener más información, consulte Creación de filtros de grupo de dispositivos.
Cree un grupo de dispositivos cuando los grupos que AEM instale no cumplan con sus requisitos.
En el explorador, vaya a la Herramientas consola.
Cree una nueva página a continuación Herramientas > Móvil > Grupos de dispositivos. En el Crear página diálogo:
Special Phones
.special
.En CRXDE, agregue un static.css archivo que contiene los estilos del grupo de dispositivos debajo de la variable /etc/mobile/groups/special
nodo .
Abra el Teléfonos especiales página.
Para configurar el grupo de dispositivos, haga clic en el botón Editar botón situado al lado Configuración.
En el General pestaña:
BlackBerryZ10
En el Emuladores pestaña:
En el Filtros pestaña:
Haga clic en Aceptar.
El cuadro de diálogo de configuración del grupo de dispositivos móviles tiene el siguiente aspecto:
Como se ha descrito anteriormente, es posible asociar una CSS personalizada con una página de grupo de dispositivos, como la CSS de una página de diseño. Esta CSS se utiliza para influir en el procesamiento específico del grupo de dispositivos del contenido de la página en el autor y en la publicación. Esta CSS se incluye automáticamente:
Utilice filtros y una biblioteca de especificaciones del dispositivo para determinar las capacidades del dispositivo que realiza la solicitud HTTP.
Cree un filtro de grupo de dispositivos para definir un conjunto de requisitos de capacidad de dispositivos. Cree tantos filtros como necesite para dirigirse a los grupos necesarios de capacidades del dispositivo.
Diseñe los filtros de modo que pueda utilizar combinaciones de ellos para definir los grupos de capacidades. Normalmente, hay superposición de las capacidades de diferentes grupos de dispositivos. Por lo tanto, puede utilizar algunos filtros con varias definiciones de grupo de dispositivos.
Después de crear un filtro, puede utilizarlo en la configuración del grupo.
Para obtener más información, vaya a Creación de filtros de grupo de dispositivos.
AEM utiliza una versión truncada del WURFLBase de datos ™ para consultar las capacidades de los dispositivos, como la resolución de pantalla o la compatibilidad con javascript, en función del agente de usuario del dispositivo.
El código XML de la base de datos WURFL™ se representa como nodos a continuación /var/mobile/devicespecs
analizando la variable wurfl.xml
file at /libs/wcm/mobile/devicespecs/wurfl.xml.
La expansión a nodos ocurre la primera vez que se produce la variable cq-mobile-core
se ha iniciado el paquete.
Las capacidades del dispositivo se almacenan como propiedades de nodo y los nodos representan modelos de dispositivo. Puede utilizar consultas para recuperar las capacidades de un dispositivo o agente de usuario.
Como la base de datos WURFL™ está evolucionando, es posible que tenga que personalizarla o reemplazarla. Para actualizar la base de datos de dispositivos móviles, tiene las siguientes opciones:
Cuando un dispositivo accede al sitio móvil, AEM detecta el dispositivo, lo asigna a un grupo de dispositivos según sus capacidades y envía una vista de la página que corresponde al grupo de dispositivos. El grupo de dispositivos correspondiente proporciona la información de estilo necesaria. Las asignaciones se pueden probar en la página de prueba del agente de usuario móvil:
http://localhost:4502/etc/mobile/useragent-test.html
La base de datos WURFL™ truncada que se instala con AEM es una versión anterior a la fecha
30 de Agosto del 2011. Si su versión de WURFL se publicó después del 30 de agosto de 2011, asegúrese de que su uso cumpla con su licencia.
Para instalar una base de datos WURFL™:
/apps/wcm/mobile/devicespecs
wurfl.xml
.AEM analiza automáticamente el wurfl.xml
y actualiza los nodos siguientes /var/mobile/devicespecs
.
Cuando la base de datos WURFL™ completa está habilitada, el análisis y la activación pueden tardar unos minutos. Puede ver los registros para obtener información de progreso.
Agregue un usuario-agente como una expresión regular debajo de /apps/wcm/mobile/devicespecs/wurfl/regexp para apuntar a un tipo de dispositivo WURFL™ existente.
En CRXDE Lite, cree un nodo debajo de /apps/wcm/mobile/devicespecs/regexp, por ejemplo apple_ipad_ver1.
Agregue las siguientes propiedades al nodo:
La configuración anterior hace que los dispositivos para los que User-Agent coincide con la expresión regular suministrada se asignen al ID del dispositivo apple_ipad_ver1 WURFL™, si existe.
En esta sección se describe cómo utilizar la detección de AEM del lado del cliente del dispositivo para optimizar el procesamiento de la página o proporcionar al cliente versiones de sitios web alternativas.
AEM admite la detección del lado del cliente del dispositivo basada en BrowserMap
. BrowserMap
se envía en AEM como biblioteca de cliente en /etc/clientlibs/browsermap
.
BrowserMap
proporciona tres estrategias que puede utilizar para proporcionar un sitio web alternativo a un cliente, que se emplean en el siguiente orden:
Para obtener más información sobre la integración de la biblioteca de clientes, lea la Uso de bibliotecas de HTML del lado del cliente para obtener más información.
La variable PageVariantsProvider
El servicio OSGi puede generar vínculos alternativos para sitios pertenecientes a la misma familia. Para configurar los sitios que el servicio debe tener en cuenta, se debe configurar un cq:siteVariant
se debe agregar al nodo jcr:content
de la raíz del sitio.
La variable cq:siteVariant
debe tener las siguientes propiedades:
cq:childNodesMapTo
- determina a qué atributo del elemento de vínculo se asignarán los nodos secundarios; se recomienda organizar el contenido del sitio web de forma que los elementos secundarios del nodo raíz representen la raíz de una variante de idioma del sitio web global (p. ej. /content/mysite/en
, /content/mysite/de
), en cuyo caso el valor de la variable cq:childNodesMapTo
debe hreflang
;
cq:variantDomain
- indica qué Externalizer
se utilizará para generar las variantes de página en direcciones URL absolutas; si no se establece este valor, las variantes de página se generarán mediante vínculos relativos;
cq:variantFamily
- indica a qué familia de sitios web pertenece este sitio; las representaciones múltiples específicas del dispositivo del mismo sitio web deben pertenecer a la misma familia;
media
- almacena los valores del atributo media del elemento link; se recomienda utilizar el nombre del BrowserMap
registrado DeviceGroups
, de modo que BrowserMap
puede reenviar automáticamente a los clientes a la variante correcta del sitio web.
Cuando el valor de la variable cq:variantDomain
propiedad de a cq:siteVariant
el nodo no está vacío, la variable PageVariantsProvider
generará vínculos absolutos usando este valor como un dominio configurado para el Externalizer
servicio. Asegúrese de configurar la variable Externalizer
para reflejar su configuración.
Al trabajar con AEM hay varios métodos para administrar los ajustes de configuración de dichos servicios; see Configuración de OSGi para obtener más información y las prácticas recomendadas.
Si no desea utilizar vínculos alternativos, puede configurar una dirección URL global para cada DeviceGroup
. Se recomienda crear su propia biblioteca de cliente que incruste el browsermap.standard
biblioteca de cliente, pero redefine los grupos de dispositivos.
El mapa del explorador se ha diseñado de modo que las definiciones de los grupos de dispositivos se puedan anular creando y agregando un nuevo grupo de dispositivos con el mismo nombre al BrowserMap
del cliente personalizado.
Para obtener más información, lea la Mapa del explorador personalizado para obtener más información.
Si no se ha utilizado ninguno de los mecanismos anteriores para indicar un lugar alternativo para BrowserMap
y, a continuación, selectores que utilizarán los nombres de la variable DeviceGroups
se agregará al URL
s, en cuyo caso debe proporcionar sus propios servlets que gestionarán las solicitudes.
Por ejemplo, un dispositivo de navegación www.example.com/index.html
identificado como smartphone
por BrowserMap se reenvía a www.example.com/index.smartphone.html.
Para utilizar la biblioteca de cliente de BrowserMap estándar en una página, debe incluir la variable /libs/wcm/core/browsermap/browsermap.jsp
usando un cq:include
en la página head
para obtener más información.
<cq:include script="/libs/wcm/core/browsermap/browsermap.jsp" />
Además de agregar la variable BrowserMap
biblioteca de cliente en su JSP
, también tiene que agregar una cq:deviceIdentificationMode
Propiedad String establecida en client-side
a jcr:content
debajo de la raíz del sitio web.
Si desea personalizar BrowserMap
- anulando el DeviceGroups
o agregando más sondeos: entonces debe crear su propia biblioteca del lado del cliente en la que incruste el browsermap.standard
biblioteca del lado del cliente.
Además, debe llamar manualmente a la función BrowserMap.forwardRequest()
en su JavaScript
código.
Para obtener más información sobre la integración de la biblioteca de clientes, lea la Uso de bibliotecas de HTML del lado del cliente para obtener más información.
Una vez creado el BrowserMap
biblioteca de cliente, sugerimos el siguiente enfoque:
Cree un browsermap.jsp
en la aplicación
<%@include file="/libs/foundation/global.jsp" %>
<%@ taglib prefix="c" uri="https://java.sun.com/jsp/jstl/core" %>
<%@ page import="
com.day.cq.wcm.api.variants.PageVariant,
com.day.cq.wcm.api.variants.PageVariantsProvider,
com.day.cq.wcm.api.devicedetection.DeviceIdentificationMode,
com.day.cq.wcm.api.WCMMode"
%>
<%
final PageVariantsProvider p = sling.getService(PageVariantsProvider.class);
if(p == null) {
throw new IllegalStateException("Missing PageVariantsProvider service");
}
for(PageVariant v : p.getVariants(currentPage, slingRequest)) {
final String curVar = v.getAttributes().get("data-current-variant");
String media = v.getAttributes().get("media");
if (media != null) {
media = media.replaceAll(" ", "");
}
%>
<link
rel="alternate"
data-cq-role="site.variant"
title="<%= xssAPI.encodeForHTMLAttr(v.getTitle()) %>"
hreflang="<%= xssAPI.encodeForHTMLAttr(v.getAttributes().get("hreflang")) %>"
media="<%= xssAPI.encodeForHTMLAttr(media) %>"
href="<%= xssAPI.getValidHref(v.getURL()) %>"
<% if(curVar != null) { %> data-current-variant="<%= curVar %>"<% } %>
/>
<%
}
Boolean browserMapEnabled = true;
final DeviceIdentificationMode dim = sling.getService(DeviceIdentificationMode.class);
String[] selectors = slingRequest.getRequestPathInfo().getSelectors();
boolean isPortletRequest = false;
for (int i = 0; i < selectors.length; i++) {
if ("portlet".equals(selectors[i])) {
isPortletRequest = true;
break;
}
}
if (isPortletRequest) {
log.debug("Request was made by a portlet container - BrowserMap will not be embedded");
} else {
final WCMMode wcmMode = WCMMode.fromRequest(slingRequest);
boolean shouldIncludeClientLib = false;
if (WCMMode.EDIT != wcmMode && WCMMode.PREVIEW != wcmMode && WCMMode.DESIGN != wcmMode) {
if (dim != null) {
final String mode = dim.getDeviceIdentificationModeForPage(currentPage);
shouldIncludeClientLib = DeviceIdentificationMode.CLIENT_SIDE.equals(mode);
if (shouldIncludeClientLib) {
browserMapEnabled = (Boolean) request.getAttribute("browsermap.enabled");
if (browserMapEnabled == null) {
browserMapEnabled = true;
}
}
}
}
%>
<c:if test="<%= !browserMapEnabled %>">
<meta name="browsermap.enabled" content="false">
</c:if>
<c:if test="<%= shouldIncludeClientLib %>">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<cq:includeClientLib categories="browsermap.custom"/>
</c:if>
<%
}
%>
Incluya la variable broswermap.jsp
en la sección del encabezado.
<cq:include script="browsermap.jsp" />
Si desea excluir la biblioteca de BrowserMap de algunas de las páginas en las que no necesita detección de clientes, puede añadir un atributo de solicitud:
<%
request.setAttribute("browsermap.enabled", false);
%>
Esto hará que la variable /libs/wcm/core/browsermap/browsermap.jsp
secuencia de comandos para agregar una metaetiqueta a la página que realizará BrowserMap
para no realizar ninguna detección:
<meta name="browsermap.enabled" content="false">
Normalmente, la secuencia de comandos de BrowserMap siempre redirige a los visitantes a la versión más adecuada del sitio web, redireccionando generalmente a los visitantes al escritorio o al sitio móvil cuando es necesario.
Puede forzar el dispositivo de cualquier solicitud para probar una versión específica de un sitio web agregando la variable device
a su URL. La siguiente URL renderizará la versión móvil del sitio web de Geometrixx Outdoors.
http://localhost:4502/content/geometrixx-outdoors/en.html?wcmmode=disabled&device=smartphone
La variable wcmmode
el parámetro está configurado en disabled
para simular el comportamiento de una instancia de publicación.
El valor del dispositivo sobrescrito se almacena en una cookie para que pueda navegar por el sitio web sin agregar la variable device
para cada URL
.
Como consecuencia, debe llamar al mismo URL
con la variable device
configure como browser
para volver a la versión de escritorio del sitio web.
BrowserMap almacena el valor del dispositivo sobrescrito en una cookie denominada BMAP_device
. Al eliminar esta cookie, se asegurará de que CQ proporcione la versión apropiada del sitio web según su dispositivo actual (p. ej., escritorio o móvil).
AEM procesa una solicitud emitida por un dispositivo móvil que pertenece al grupo de dispositivos táctiles de la siguiente manera:
Una iPad envía una solicitud a la instancia de publicación de AEM, por ejemplo: http://localhost:4503/content/geometrixx_mobile/en/products.html
AEM determina si el sitio de la página solicitada es un sitio móvil (comprobando si la página de primer nivel /content/geometrixx_mobile
amplía el componente de página móvil). En caso afirmativo:
AEM busca las capacidades del dispositivo en función del agente de usuario en el encabezado de la solicitud.
AEM asigna las capacidades del dispositivo al grupo de dispositivos y los conjuntos touch
como selector de grupos de dispositivos.
AEM redirige la solicitud a http://localhost:4503/content/geometrixx_mobile/en/products.touch.html.
AEM envía la respuesta a iPad:
products.touch.html
se procesa de la forma habitual y se puede almacenar en caché.Puede obtener algunas estadísticas sobre el número de solicitudes realizadas al servidor de AEM por dispositivos móviles. El número de solicitudes se puede desglosar:
Para ver las estadísticas:
Vaya a la Herramientas consola.
Abra el Estadísticas de dispositivo página siguiente Herramientas > Móvil.
Haga clic en el vínculo para ver las estadísticas de un año, mes o día concretos.
La variable Estadísticas La página tiene el siguiente aspecto:
La variable Estadísticas se crea la primera vez que un dispositivo móvil accede a AEM y se detecta. Antes de eso, no está disponible.
Si necesita generar una entrada en las estadísticas, puede continuar de la siguiente manera:
Utilice un dispositivo móvil o un emulador (como, por ejemplo, https://chrispederick.com/work/user-agent-switcher/ en Firefox).
Solicite una página móvil en la instancia de autor desactivando el modo de creación, por ejemplo:
http://localhost:4502/content/geometrixx_mobile/en/products.html?wcmmode=disabled
La variable Estadísticas ya está disponible.
Las páginas móviles generalmente se pueden almacenar en caché en Dispatcher, ya que las páginas procesadas para un grupo de dispositivos se distinguen en la dirección URL de la página mediante el selector de grupos de dispositivos, por ejemplo /content/mobilepage.touch.html
. Una solicitud a una página móvil sin selector nunca se almacena en caché, como en este caso, la detección de dispositivos funciona y finalmente redirige al grupo de dispositivos coincidente (o "nomatch"). El reescritura de vínculos procesa una página móvil representada con un selector de grupo de dispositivos. De este modo, reescribe todos los vínculos de la página para que también contengan el selector de grupos de dispositivos, evitando así volver a realizar la detección de dispositivos por cada clic en una página cualificada.
Por lo tanto, podría encontrar el siguiente escenario:
El usuario Alice es redirigido a coolpage.feature.html
, y envía esa dirección URL a un amigo Bob que accede a ella con un cliente diferente que pertenece al grupo touch
grupo de dispositivos.
If coolpage.feature.html
se suministra desde una caché del front-end, AEM no tiene la oportunidad de analizar la solicitud para averiguar que el selector móvil no coincide con el nuevo agente de usuario y Bob obtiene la representación incorrecta.
Para solucionarlo, puede incluir una sencilla IU de selección en las páginas, donde los usuarios finales pueden anular el grupo de dispositivos seleccionado por AEM. En el ejemplo anterior, un vínculo (o un icono) en la página permite al usuario final cambiar a coolpage.touch.html
si piensa que su dispositivo es lo suficientemente bueno para eso.