Conocimientos previos necesarios
- Explicación de AEM Mobile
- Conocimientos sobre creación y publicación de contenido a través de On-Demand Portal
- Conocimientos sobre JavaScript
Productos requeridos
- AEM Mobile
Los complementos específicos de Experience Manager Mobile adaptados para Cordova son un conjunto de API de JavaScript que proporciona acceso a datos concretos relacionados con la aplicación y el artículo que esté leyendo en ese momento. Para utilizar los complementos de Cordova en AEM Mobile, la opción de las propiedades del artículo “Activar las características de extensibilidad” debe estar seleccionada en el portal de servicios bajo demanda o establecer el parámetro isTrustedContent de los metadatos de entidad del artículo en “true” mediante la On-Demand Services API.
Los complementos específicos de AEM Mobile adaptados para Cordova utilizan el espacio de nombres cq.mobile para evitar conflictos con otros complementos con tecnología de Cordova. La API consta de varios módulos; cada uno de ellos es un objeto simple con una serie de métodos y propiedades.
Para obtener información sobre el uso de las API de Core Cordova, consulte Uso de complementos de Cordova en AEM Mobile.
Disponibilidad
Este complemento define el objeto cq.mobile.context global. No estará disponible hasta después del evento deviceready.
Nombre | Tipo | Volátil | Comentarios |
cq.mobile.context.collection | Entidad1 | No | Puede quedar vacío (nulo) si el contexto actual es un contexto huérfano. |
cq.mobile.context.entity | Entidad1 | No | Devuelve la entidad del ámbito. Ámbitos:
|
cq.mobile.context.nextEntity | Entidad1 | No | Puede quedar vacío (nulo) si se trata de la última entidad. Nota: La entidad posterior de la pancarta dinámica es la entidad que sigue a la pancarta dinámica en la vista de exploración, que puede diferir de la entidad posterior del conjunto de elementos correspondiente a la colección principal. Esto es diferente a lo que sucederá cuando se llame a nextEntity desde un artículo (que devolverá el orden de la matriz de elementos secundarios de la colección principal). |
cq.mobile.context.previousEntity | Entidad1 | No | Puede quedar vacío (nulo) si se trata de la primera entidad. En el caso de las pancartas dinámicas, consulte la nota anterior sobre nextEntity. |
cq.mobile.context.type | Cadena | No | Valores posibles: “article”, “overlay”, “dynamicBanner” |
1 La entidad incluye los siguientes campos como se describe en la siguiente sección: id, metadata, rootPath y type
Nombre | Tipo | Comentarios |
id | Cadena | |
metadata | Objeto2 | Metadatos específicos del tipo de entidad |
rootPath | Cadena | Se aplica únicamente a los artículos y las pancartas dinámicas. Representa la ruta raíz de la entidad que se ejecuta en el contexto actual. Se puede utilizar como referencia de otros complementos para crear una ruta a un recurso de contenido dentro de la entidad (solo para iOS y Android). |
type | Cadena | Valores posibles: “collection”, “article”, “banner”, “dynamicBanner” |
2 El objeto metadata incluirá un conjunto distinto de campo según el tipo de entidad, como se describe en la siguiente sección.
Nombre | Tipo | Compatibilidad con la entidad | Comentarios |
abstract |
Cadena | Artículo, colección y pancarta, pancarta dinámica | |
accessState | Cadena | Artículo |
Valores posibles: “free”, “metered”, “protected” |
adCategory | Cadena | Artículo, pancarta dinámica |
|
adType | Cadena | Artículo, pancarta dinámica |
Valores posibles: “static”, “EFT” |
allowDownload | Booleano | Colección | |
articleText | Cadena | Artículo |
|
author | Cadena | Artículo |
|
authorURL | Cadena | Artículo |
|
availabilityDate | Cadena | Artículo, colección y pancarta, pancarta dinámica | |
advertiser | Cadena | Artículo, pancarta dinámica |
|
category | Cadena | Artículo, colección y pancarta, pancarta dinámica | |
created | Cadena | Artículo, colección y pancarta, pancarta dinámica | |
department | Cadena | Artículo, colección y pancarta, pancarta dinámica | |
entityName | Cadena | Artículo, colección y pancarta, pancarta dinámica | |
hideFromBrowsePage | Booleano | Artículo |
|
importance | Cadena | Artículo, colección y pancarta, pancarta dinámica | Valores posibles: “low”, “normal”, “high” |
isAd | Booleano | Artículo, pancarta dinámica |
|
isIssue | Booleano | Artículo |
|
keywords | Matriz de cadenas | Artículo, colección y pancarta, pancarta dinámica | |
lateralNavigation | Booleano | Colección | |
modified | Cadena | Artículo, colección y pancarta, pancarta dinámica | |
openTo | Cadena | Colección | Valores posibles: “browsePage”, “contentView” |
productIds | Matriz de cadenas | Colección | |
published | Cadena | Artículo, colección y pancarta, pancarta dinámica | |
readingPosition | Cadena | Colección | Valores posibles: “reset”, “retain” |
shortAbstract | Cadena | Artículo, colección y pancarta, pancarta dinámica | |
shortTitle | Cadena | Artículo, colección y pancarta, pancarta dinámica | |
socialShareUrl | Cadena | Artículo, colección y pancarta, pancarta dinámica | |
tapAction | Cadena | Pancarta | |
title | Cadena | Artículo, colección y pancarta, pancarta dinámica | |
url | Cadena | Artículo, colección y pancarta, pancarta dinámica | |
version | Cadena | Artículo, colección y pancarta, pancarta dinámica |
Nombre | Argumentos | Respuesta | Comentarios |
getEntity (entityName, entityType, forceUpdate, success o error) |
entityName: entityType: forceUpdate: success: error: |
si culmina con éxito: un objeto Entity Nota: null es un valor de retorno permitido para las pancartas dinámicas (ya que no se trata de una propiedad necesaria para este tipo de entidad). si culmina con un error: el objeto cq.mobile.contextError con la propiedad code completa |
Es compatible con artículo, pancarta, colección, pancarta dinámica entityName debe coincidir con el nombre (no el título) de On-Demand Services. entityType debe coincidir con los valores de Entity.type Si el valor de forceUpdate es false y la entidad se almacena en la caché, se mostrará dicha entidad. Es posible que no se trate de la última versión de esa entidad. Si forceUpdate es verdadero, pero no se puede conectar al servidor, se mostrará la entidad existente si está disponible en la caché. Si no hay nada en la caché, se mostrará un error de red. Si no puede conectar con el servidor, pero no se puede encontrar la entidad solicitada (o está restringida y el usuario no tiene autorización), se mostrará un error Entity Not Found. |
getEntitlementInfo (entityOrEntityList, success o error) |
entityOrEntityList: success: error: |
si culmina con éxito: [ si culmina con un error: el objeto cq.mobile.contextError con la propiedad code completa |
Es compatible con colección getEntitlementInfo () solo devolverá la información de asignación de derechos de las colecciones. Si se transfiere un objeto Entity que no pertenece a la colección, se mostrará un error Wrong Entity Type. Si se transfiere un objeto EntityList, solo se mostrarán los objetos de la colección entitlementInfo. Si no hay colecciones, se devolverá una matriz vacía. Si se realiza una vigesimosexta solicitud (y cualquier solicitud subsecuente) a esta API en el periodo de un minuto, se mostrará un error Network Rate Limit Exceeded. Si el dispositivo está fuera de línea, se mostrará la información de asignación de derechos, independientemente de cuál sea la caché. Si el dispositivo está en línea y no se puede poner en contacto con el servicio de asignación de derechos, se mostrará un error de red. |
getEntityStatus (entity, success, error) |
entity: El estado de descarga de la colección. success: Función, la devolución de llamada en caso de éxito error: Función, la devolución de llamada en caso de error |
si culmina con éxito: si culmina con un error: el objeto cq.mobile.contextError con la propiedad code completa |
Es compatible con colección getEntityStatus() recuperará información del estado de la descarga para la entidad de la colección. Información de estado: "entityName": el nombre de la entidad de la colección. "isSavable": la colección debe estar marcada como descarga (guardar) permitida en las propiedades de la colección y disponer de la suficiente asignación de derechos para devolver True. "progressPercent" : valor porcentual de 0 a 100 de la colección descargada actualmente. Nota: puede que este valor no siempre sea preciso si la información se ha vaciado de la memoria. Consulte los estados de la descarga que encontrará más adelante en este documento. Errors: getEntityStatus() solo devolverá la información del estado de asignación de derechos de las colecciones. Si se transfiere, no se encuentra o no se inicializa un objeto Entity que no pertenece a la colección, se mostrará un error. Consulte la lista de errores que encontrará más adelante en este documento. |
saveEntity(entity, isSilent, success, error) | entity: La colección que se va a descargar y guardar. isSilent: BOOLEANO, (solo Android) Si el valor es “true”, la entidad se guarda en el fondo sin ninguna notificación. success: Función, la devolución de llamada en caso de éxito. error: Función, la devolución de llamada en caso de error. |
si culmina con éxito: { "rawEntity" : "downloadPercent" : "downloadState" } si culmina con un error: Error con la propiedad code completa |
Es compatible con colección saveEntity() descargará y guardará la entidad de colección indicada. Es el equivalente a pulsar el botón de descargar en la interfaz de usuario. Devolución de llamada en caso de éxito: La devolución de llamada en caso de éxito devuelve el objeto de la entidad que se guarda. Además, la devolución de llamada en caso de éxito se solicitará cada vez que se produzca una actualización del progreso de la descarga. Se puede realizar un seguimiento del progreso mediante los valores de retorno "downloadPercent" y "downloadState". Si se ha iniciado el proceso de guardar/descargar, la descarga de la colección debería convertirse en la descarga actual activa. Si se ha iniciado la descarga de otra colección, dicha colección pasará a ser la descarga activa y la primera colección quedará pausada. La primera colección debería reanudar la descarga y su estado debería pasar a ser activo cuando finalice la descarga de la segunda colección. Errors: saveEntity() solo descargará colecciones. Si se transfiere un objeto Entity que no pertenece a la colección, si no se encuentra la colección o si se cancela la descarga, se mostrará un error. Consulte la lista de errores que encontrará más adelante en este documento. |
archiveEntity(entity, success, error) | entity: objeto Entity, la entidad que se debe archivar (no guardar) success: Función, la devolución de llamada en caso de éxito error: Función, la devolución de llamada en caso de error |
si culmina con éxito: un objeto Entity si culmina con un error: un error con la propiedad code completa |
Es compatible con colección archiveEntity() archivará (lo contrario a saveEntity()) la entidad de colección indicada. Es el equivalente a pulsar el botón de la marca de verificación en la interfaz de usuario. Si la colección se ha descargado y guardado completamente, archiveEntity marcará la colección como no persistente y sujeta a purga. Si la colección se está descargando activamente o si está en cola para descargarse, la descarga se cancelará y el contenido que se ha estado descargando se marcará como purgable. Operación realizada correctamente: el objeto Entity archivado se devuelve. Errors: archiveEntity() solo archivará colecciones. Si se transfiere un objeto Entity que no pertenece a la colección o si no se encuentra la colección, se mostrará un error. |
getSavedEntities(success, error) | success: Función, la devolución de llamada en caso de éxito error: Función, la devolución de llamada en caso de error |
si culmina con éxito: matriz de objetos Entity si culmina con un error: error con la propiedad code completa |
Es compatible con colección getSavedEntities() devolverá una matriz de objetos Entity, cuya descarga se haya completado o esté en cola para descargarse, y se guardará |
getBackgroundImage (width, height, success o error) |
width: Número, la anchura solicitada height: Número, la altura solicitada success: Función, la devolución de llamada en caso de éxito error: Función, la devolución de llamada en caso de error |
si culmina con éxito: un archivo URL a la imagen de fondo como argumento de la devolución de llamada success si culmina con un error: el objeto cq.mobile.contextError con la propiedad code completa |
Es compatible con colección El visor de Runtime no cambia la escala de la imagen; en lugar de ello, devuelve la imagen al tamaño que más se aproxime al especificado. Solicitará la imagen de fondo de On-Demand Services si la imagen no se encuentra en la caché del dispositivo. En la mayoría de los casos, la imagen permanecerá en la memoria caché para el futuro inmediato. Si se trata de realizar la llamada en entidades de otros tipos distintos de Colección, se realizará la devolución de llamada de error. |
getThumbnailImage (width, height, success o error) |
width: Número, la anchura solicitada height: Número, la altura solicitada success: Función, la devolución de llamada en caso de éxito error: Función, la devolución de llamada en caso de error |
si culmina con éxito: un archivo URL a la imagen de miniatura como argumento de la devolución de llamada success si culmina con un error: el objeto cq.mobile.contextError con la propiedad code completa |
Es compatible con artículo, pancarta, colección, pancarta dinámica El visor de Runtime no cambia la escala de la imagen; en lugar de ello, devuelve la imagen al tamaño que más se aproxime al especificado. Solicitará la imagen de miniatura de On-Demand Services si la imagen no se encuentra en la caché del dispositivo. En la mayoría de los casos, la imagen permanecerá en la memoria caché para el futuro inmediato.
|
getSocialSharingImage (width, height, success o error) |
width: Número, la anchura solicitada height: Número, la altura solicitada success: Función, la devolución de llamada en caso de éxito error: Función, la devolución de llamada en caso de error |
si culmina con éxito: un archivo URL a la imagen de uso compartido en redes sociales como argumento de la devolución de llamada success si culmina con un error: el objeto cq.mobile.contextError con la propiedad code completa |
Es compatible con artículo El visor de Runtime no cambia la escala de la imagen; en lugar de ello, devuelve la imagen al tamaño que más se aproxime al especificado. Solicitará la imagen de uso compartido en redes sociales de On-Demand Services si la imagen no se encuentra en la caché del dispositivo. En la mayoría de los casos, la imagen permanecerá en la memoria caché para el futuro inmediato. Si se trata de realizar la llamada en entidades de otros tipos distintos de Colección, se realizará la devolución de llamada de error. |
getChildren (success o error) | success: error: |
si culmina con éxito: un objeto EntityList si culmina con un error: el objeto cq.mobile.contextError con la propiedad code completa |
Es compatible con colección EntityList incluirá todas las entidades secundarias sin restricciones para esta colección, que se encuentra en la caché. Si no existe ninguna, se intenta descargar la primera página del servidor de las entidades secundarias. |
getContentLocation(success, error) | success: Función, la devolución de llamada en caso de éxito error: Función, la devolución de llamada en caso de error |
si culmina con éxito: devuelve el objeto ContentLocation | Es compatible con artículo El objeto ContentLocation incluye pageNumber y totalPageCount. |
Para obtener información adicional acerca de estas propiedades de metadatos, consulte Integración de sistemas de terceros con AEM Mobile.
Nombre | Tipo | Comentarios |
entities | Matriz | Lista de entidades. Entidades posibles: “article”, “collection”, “banner”. |
hasNextPage | Booleano | Si es “true”, la lista incluye más entidades. Utilice el método getNextPage() para recuperar la página siguiente de las entidades de la lista. |
Nombre | Argumentos | Respuesta | Compatibilidad con la entidad | Comentarios |
getNextPage (success o error) |
success: error: |
si culmina con éxito: la propiedad de las entidades incluirá elementos Entity adicionales y la propiedad hasNextPage se actualizará si culmina con un error: el objeto cq.mobile.contextError con la propiedad code completa |
Colección | Si se llama a getNextPage() cuando el valor de hasNextPage es false, se mostrará el error No More Entity Pages. No se restringirán las entidades devueltas. Es posible que la información restringida haya cambiado desde la última vez que se llamó a getNextPage(). En ese caso, se mostrará el error Entity Page Out of Date. Deberá llamar a getEntity() de la colección para extraer la colección actualizada y llamar a getChildren() con dicha colección. |
El cq.mobile.contextError es un objeto de enumeración que define todos los códigos de error admitidos en los métodos de contexto.
Nombre | Valor |
cq.mobile.contextError.UNKNOWN_ERROR |
0 |
cq.mobile.contextError.INVALID_ARGUMENT_ERROR |
10 |
cq.mobile.contextError.ENTITY_IMAGE_TYPE_NOT_SUPPORTED_FOR_ENTITY_ERROR |
11 |
cq.mobile.contextError.NETWORK_ERROR |
20 |
cq.mobile.contextError.NETWORK_RATE_LIMIT_EXCEEDED_ERROR |
21 |
cq.mobile.contextError.ENTITY_IMAGE_ENTITY_NOT_FOUND_ERROR |
40 |
cq.mobile.contextError.ENTITY_IMAGE_NETWORK_ERROR |
41 |
cq.mobile.contextError.ENTITY_IMAGE_NOT_FOUND_ERROR |
50 |
cq.mobile.contextError.ENTITY_NOT_FOUND_ERROR |
61 |
cq.mobile.contextError.WRONG_ENTITY_TYPE_ERROR |
71 |
cq.mobile.contextError.NO_MORE_ENTITY_PAGES_ERROR |
72 |
cq.mobile.contextError.ENTITY_PAGE_OUT_OF_DATE_ERROR |
73 |
cq.mobile.contextError.ENTITY_OUT_OF_DATE_ERROR | 74 |
cq.mobile.contextError.ENTITY_SAVE_FAILURE | 80 |
cq.mobile.contextError.ENTITY_SAVE_CANCELLED | 80 |
El cq.mobile.downloadState es un objeto de enumeración que define todos los códigos de error admitidos en los métodos de descarga de colecciones.
Nombre | Valor |
cq.mobile.downloadState.NONE |
0 |
cq.mobile.downloadState.DOWNLOAD_PAUSED |
1 |
cq.mobile.downloadState.DOWNLOAD_ACTIVE |
2 |
cq.mobile.downloadState.DOWNLOAD_COMPLETE |
3 |
El módulo del dispositivo proporciona el valor del código nativo. Tenga en cuenta que estas propiedades se alojan en un espacio de nombres distinto del complemento del dispositivo Cordova (window.cq.mobile.device vs window.device).
Disponibilidad
Se añadirán las siguientes propiedades además de los complementos del dispositivo Cordova.
Nombre | Tipo | Volátil |
Comentarios |
cq.mobile.device.class | Cadena | No | Valores posibles: Phone, Tablet (Windows solo devuelve Tablet puesto que no se admiten teléfonos) |
cq.mobile.device.vendorId | Cadena | No | Solo iOS (consulte IdentifierForVendor en la guía para desarrolladores de iOS) |
Disponibilidad
Este complemento define el objeto cq.mobile.application global. No estará disponible hasta después del evento deviceready.
Nombre | Tipo | Volátil | Comentarios |
cq.mobile.application.id | Cadena | No | ejemplo: com.adobe.create |
cq.mobile.application.pushNotificationToken | Cadena | No | Autentificador de notificaciones push para el dispositivo (el autentificador de dispositivo en iOS, el ID de registro en Android y el visor de Windows no han implementado la autentificación push por lo que el valor hasta entonces será “undefined”) |
cq.mobile.application.runtimeVersion | Cadena | No | ejemplo: 2015.5.1 |
cq.mobile.application.version | Cadena | No | El modo en que se denomina la versión de la aplicación, como 1.0.4 |
cq.mobile.application.isAppSearchEnabled | Booleano | Sí |
Compruebe si el botón Buscar está activado |
cq.mobile.application.isSocialSharingEnabled | Booleano | Sí | Compruebe si el botón Compartir en redes sociales está activado |
Disponibilidad
Este complemento define el objeto cq.mobile.user global. No estará disponible hasta después del evento deviceready.
Nombre | Comentarios |
isauthenticatedchanged | El evento se activa cuando el usuario cambia el estado de autenticación. Los clientes deben consultar el objeto de usuario para conocer el estado más reciente. |
authtokenchanged | El evento se activa cuando cambian los autentificadores de autenticación de usuario. Los clientes deben consultar el objeto de usuario para conocer el estado más reciente. |
Nombre | Tipo | Volátil | Comentarios |
cq.mobile.user.authToken | Cadena | Sí | |
cq.mobile.user.isAuthenticated | Booleano | Sí |
Nombre | Argumentos | Respuesta | Comentarios |
setAuthToken(authToken, success, error) | authToken: enlace el valor solicitado para authToken success: Función, la devolución de llamada en caso de éxito error: Función, la devolución de llamada en caso de error |
si culmina con éxito: realiza la devolución de llamada en caso de éxito sin parámetros si culmina con un error: realiza la devolución de la llamada en caso de error con el conjunto de código cq.mobile.userError |
Esta llamada se ejecutará correctamente solo en los proyectos con una configuración genérica del proveedor de identidad o que tengan un proveedor de asignación de derechos directo (ningún proveedor de identidad). De lo contrario, se devuelve un error de compatibilidad con la autenticación cuando se llama a esta API. Si la llamada de setAuthToken falla por algún motivo (devuelve 502, 503 o 504), el visor realizará un reintento. Si se produce un error al reintentar o no se ejecuta el reintento, se devuelve un error de red. La solicitud número 11 para esta API en un período de un minuto devolverá un mensaje de error de límite de la velocidad de la red excedido, al igual que cualquier solicitud subsiguiente tras la número 11 hasta que haya transcurrido un minuto desde la primera solicitud. |
launchSignInUX(error) | error: Función, la devolución de llamada en caso de error | si culmina con un error: realiza la devolución de la llamada en caso de error con el conjunto de código cq.mobile.userError | Si la autenticación se produce mediante un servidor de asignación de derechos, se mostrará el cuadro de diálogo de inicio de sesión nativo. Si la autenticación se produce mediante de un proveedor de identidad, la URL de autenticación se mostrará en una vista de web en los visores de los dispositivos o redirigirá a la URL de autenticación del visor web de escritorio. Si no se especifica ninguna autenticación en el proyecto, la llamada a esta API devolverá un error Authentication Support. Si el usuario ya se ha autenticado, se mostrará un error de estado de autenticación no válido. Si el visor web no puede recuperar la configuración de autenticación, se mostrará un error de red. Los usuarios todavía podrán cerrar sesión en los visores de los dispositivos cuando no dispongan de conexión. |
signOut(error) | error: Función, la devolución de llamada en caso de error | si culmina con un error: realiza la devolución de la llamada en caso de error con el conjunto de código cq.mobile.userError | Cierra la sesión del usuario y actualiza el estado de cierre de sesión para que así se refleje en la interfaz de usuario. Si no se especifica ninguna autenticación en el proyecto, la llamada a esta API devolverá un error Authentication Support. Si el usuario ya se ha autenticado, se mostrará un error de estado de autenticación no válido. Si el visor web no puede finalizar sesión, se mostrará un error de red. Los visores de los dispositivos utilizarán los ajustes de autenticación almacenados en caché cuando no puedan recuperar dichos ajustes. |
refreshSignIn(success, error) | success: Función, la devolución de llamada en caso de éxito error: Función, la devolución de llamada en caso de error |
si culmina con éxito: realiza la devolución de llamada en caso de éxito sin parámetros si culmina con un error: realiza la devolución de la llamada en caso de error con el conjunto de código cq.mobile.userError |
Use esta API para intentar actualizar el inicio de sesión del usuario solamente cuando determine que la sesión actual ya no es válida. Esta API actualizará el inicio de sesión solamente en dos casos: 1) El proyecto está configurado con un servicio de asignación de derechos, pero sin autenticación personalizada. Al realizar una llamada a esta API también se realizará una llamada de renewAuthToken en el servicio de asignación de derechos. 2) El proyecto está configurado con un proveedor de identidad de OAuth que proporciona un autentificador de actualización. Al realizar una llamada a esta API se intentará utilizar dicho autentificador de actualización para actualizar el inicio de sesión. La actualización puede fracasar en ambos casos. Si esto sucede, se cerrará la sesión del usuario. En el resto de casos —incluso si esta API recibe una llamada de una configuración de proyecto con un SAML o un proveedor de identidad OAuth que no admite actualizaciones— esta actualización fallará, se cerrará la sesión del usuario y lo redirigirá a la pantalla de inicio. Si no se especifica ninguna autenticación en el proyecto, la llamada a esta API devolverá un error Authentication Support. Si el usuario no se ha autenticado, se mostrará un error de estado de autenticación no válido. Si los visores están sin conexión y no se puede actualizar el inicio de sesión, se mostrará un error de red. Los visores de los dispositivos utilizarán los ajustes de autenticación almacenados en caché cuando no puedan recuperar dichos ajustes. |
Nota:
Se devuelve el código “UNKNOWN_ERROR” en la devolución de la llamada en caso de error cuando se produce un error inesperado con cualquiera de estas llamadas de API.
El cq.mobile.userError es un objeto de enumeración que define todos los códigos de error admitidos en los métodos de usuario.
Nombre | Valor |
cq.mobile.userError.UNKNOWN_ERROR |
0 |
cq.mobile.userError.INVALID_ARGUMENT_ERROR |
10 |
cq.mobile.userError.AUTHENTICATION_SUPPORT_ERROR |
11 |
cq.mobile.userError.INVALID_AUTHENTICATION_STATE |
12 |
cq.mobile.userError.NETWORK_ERROR |
41 |
cq.mobile.userError.NETWORK_RATE_LIMIT_EXCEEDED_ERROR |
42 |
cq.mobile.userError.UNAUTHORIZED |
43 |
Disponibilidad
Este complemento define el objeto de asignación de derechos global que proporciona métodos relacionados con la asignación de derechos y la compra. No estará disponible hasta después del evento deviceready.
Nombre | Tipo | Comentarios |
productId | Cadena | El ID de producto/suscripción que se muestra en la sección Productos y suscripciones del portal. |
etiqueta | Cadena | El nombre de producto/suscripción que se muestra en la sección Productos y suscripciones del portal. Será nulo si el usuario no lo ajusta. |
descripción | Cadena | La descripción de producto/suscripción que se muestra en la sección Productos y suscripciones del portal. Será nulo si el usuario no lo ajusta. |
precio | Cadena | El precio que se indicará desde la tienda correspondiente. Nulo si el producto es gratuito. |
offerType | Cadena | Podría ser "suscripción" o "producto". |
Nombre | Tipo | Comentarios |
subscriptionOffers | Matriz | Una matriz de objetos de Oferta. Esta vacía si el usuario tiene una suscripción activa. |
subscriptionState | Objeto | Un objeto de estado de la suscripción. |
Nombre | Tipo | Comentarios |
isSubscriber |
Booleano | El valor es "true" si el usuario ha sido suscriptor en algún momento. Tenga en cuenta que subscriptionState.isSubscriber es idéntico a subscriptionState.store.isSubscriber y subscriptionState.integrator.isSubscriber. |
isActiveSubscriber |
Booleano | El valor es "true" si el usuario tiene una suscripción activa. |
tienda | Objeto | Objeto de la tienda que contiene el estado de la suscripción a la tienda del producto. |
integrator | Objeto | Objeto del integrador que contiene el estado de la suscripción al integrador de asignación de derechos. |
Nombre | Tipo | Comentarios |
isSubscriber |
Booleano | El valor es "true" si el usuario ha sido suscriptor en algún momento. |
isActiveSubscriber |
Booleano | El valor es "true" si el usuario tiene una suscripción activa. |
expirationDate | Número | La marca de tiempo en milisegundos desde la fecha de caducidad. Este valor podría ser nulo si la suscripción (ya sea de la tienda o del integrador de asignación de derechos) no tiene fecha de caducidad. |
subscriptionType | Cadena | Podría ser "allAccess" o "estándar". Solo es válido si isSubscriber es un valor "true". |
id | Cadena | ID de producto del producto de suscripción de la tienda. |
Nombre | Tipo | Comentarios |
isSubscriber |
Booleano | El valor es "true" si el usuario ha sido suscriptor en algún momento. |
isActiveSubscriber |
Booleano | El valor es "true" si el usuario tiene una suscripción activa. |
expirationDate | Número | La marca de tiempo en milisegundos desde la fecha de caducidad. Este valor podría ser nulo si la suscripción (ya sea de la tienda o del integrador de asignación de derechos) no tiene fecha de caducidad. |
customData | Cadena | customData no se ajustará si el elemento relacionado isSubscriber es un valor "false". Si isSubscriber es un valor "true", podría ajustarse o no. El integrador podría devolver customData. Su finalidad es contener datos transparentes para Adobe y que solo sean significativos para el cliente. |
Nombre | Argumentos | Respuesta | Comentarios |
getSubscriptionInfo(success, error) |
success: La devolución de llamada correcta error: La devolución de llamada fallida |
Si culmina con éxito: Un objeto de SubscriptionInfo. |
Este método devuelve la información de suscripción para la publicación y el dispositivo actuales. Tras realizar 60 solicitudes de API en un período de un minuto, cualquier solicitud posterior a esta API mostrará un error hasta que haya pasado un minuto desde la primera solicitud. Visor web de escritorio no es compatible con esta API y siempre muestra un error. |
getOffers(collectionName, success, error) |
collectionName: Cadena, el nombre de la colección success: Función, la devolución de llamada en caso de éxito error: Función, la devolución de llamada en caso de error |
si culmina con éxito: una matriz de objetos de Oferta si culmina con un error: un error con la propiedad code completa |
collectionName debe coincidir con el nombre encontrado en el Portal. Si no se puede encontrar la entidad solicitada o si está restringida y no se puede ver, se mostrará un error. Si están disponibles, se devuelven las ofertas existentes en la memoria caché para la entidad solicitada. En caso contrario, se producirá una solicitud al servicio de asignación de derechos para recuperar las ofertas. Tras realizar 60 solicitudes de red al servicio de asignación de derechos en un período de un minuto, cualquier solicitud posterior a esta API mostrará un error hasta que haya pasado un minuto desde la primera solicitud. Visor web de escritorio no es compatible con esta API y siempre muestra un error. |
purchaseOffer(productId, success, error) |
productId: Cadena, el productId de la oferta que se va a comprar success: Función, la devolución de llamada en caso de éxito error: Función, la devolución de llamada en caso de error |
si culmina con éxito: se inicia una solicitud de compra si culmina con un error: se realiza la llamada del código de error |
Este método inicia una solicitud de compra. |
restorePurchases(successCallback, errorCallback) | success: Función, la devolución de llamada en caso de éxito error: Función, la devolución de llamada en caso de error |
si culmina con éxito: se inicia una solicitud de restauración de compra si culmina con un error: se realiza la llamada del código de error |
Este método reiniciará la restauración de compras anteriores del usuario. Tras realizar 5 solicitudes de API en un período de un minuto, cualquier solicitud posterior a esta API mostrará un error hasta que haya pasado un minuto desde la primera solicitud. |
El cq.mobile.entitlementError es un objeto de enumeración que define todos los códigos de error admitidos en los métodos de asignación de derechos.
Nombre | Valor |
cq.mobile.entitlementError.UNKNOWN_ERROR | 0 |
cq.mobile.entitlementError.INVALID_ARGUMENT_ERROR |
10 |
cq.mobile.entitlementError.ENTITY_IMAGE_TYPE_NOT_SUPPORTED_FOR_ENTITY_ERROR | 11 |
cq.mobile.entitlementError.INVALID_AUTHENTICATION_STATE | 12 |
cq.mobile.entitlementError.NETWORK_ERROR | 20 |
cq.mobile.entitlementError.NETWORK_RATE_LIMIT_EXCEEDED_ERROR | 21 |
cq.mobile.entitlementError.ENTITY_IMAGE_ENTITY_NOT_FOUND_ERROR |
40 |
cq.mobile.entitlementError.ENTITY_IMAGE_NETWORK_ERROR | 41 |
cq.mobile.entitlementError.ENTITY_IMAGE_NOT_FOUND_ERROR | 50 |
cq.mobile.entitlementError.ENTITY_NOT_FOUND_ERROR | 61 |
cq.mobile.entitlementError.WRONG_ENTITY_TYPE_ERROR | 71 |
cq.mobile.entitlementError.NO_MORE_ENTITY_PAGES_ERROR | 72 |
cq.mobile.entitlementError.ENTITY_PAGE_OUT_OF_DATE_ERROR | 73 |
cq.mobile.entitlementError.ENTITY_OUT_OF_DATE_ERROR | 74 |
cq.mobile.entitlementError.ENTITY_SAVE_FAILURE | 80 |
cq.mobile.entitlementError.ENTITY_SAVE_CANCELLED | 81 |
16 de marzo de 2017
Información de API añadida para descargar entidades de colección.
Información de API añadida para comprar y asignar derechos.
10 de enero de 2017
Se han añadido cq.mobile.application.isAppSearchEnabled y cq.mobile.application.isSocialSharingEnabled (consulte la sección de aplicaciones)
9 de agosto de 2016
Se ha añadido getLocationContent (consulte la sección de contextos)
30 de junio de 2016
Se ha añadido setAuthToken (consulte la sección de usuarios)
23 de junio de 2016
Se ha añadido la posibilidad de recorrer la estructura de la colección de servicios bajo demanda:
- Actualización de los metadatos de entidad compatibles con las pancartas (consulte la pestaña Contexto).
- Se ha añadido getEntity() para solicitar la entidad del artículo, la pancarta o la colección (consulte la pestaña Contexto).
- Se ha añadido getEntitlementInfo() para solicitar la información de asignación de derechos de la colección (consulte la pestaña Contexto).
- Se ha añadido getChildren() para solicitar la lista de entidades secundarias inmediatas de la colección (consulte la pestaña Contexto).
- Se ha añadido getNextPage() para solicitar la siguiente página de las entidades incluidas en la lista que devuelve getChildren() (consulte la pestaña Contexto).
- Se han añadido objetos de enumeración para definir los códigos de error de los métodos que se utilizan en cq.mobile.context and cq.mobile.user (consulte las pestañas Contexto y Usuario).