Requisitos

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

Introducción

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.

Los complementos adaptados para Cordova se dividen en Contexto, Dispositivo, Aplicación y Usuario.

 

Ejemplos de Cordova

Vídeo sobre la API de getEntity

Vídeo sobre la API de getEntity

API de contexto

Propiedades: Contexto

El módulo de contexto proporciona acceso a información de la entidad dentro del contexto dado.

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:

  • Contenido WebView: el contenido que se muestra en la vista web.
  • Superposición WebView: el contenido al que pertenece la superposición.
  • Pancarta dinámica de WebView: la pancarta dinámica a la que pertenece WebView.
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, rootPathtype

Propiedades: Entidad

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.

Propiedades: Metadatos

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  

Métodos

Nombre Argumentos Respuesta Comentarios
getEntity
(entityName,
entityType, forceUpdate,
success o error)

entityName:
Cadena: el nombre de la entidad

entityType:
Cadena: el tipo de entidad

forceUpdate:
Booleano: si “true”, consultar siempre al servidor para obtener la última versión

success:
Función: devolución de llamada correcta

error:
Función: devolución de llamada fallida

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:
Objeto de Entity o de EntityList: la entidad o entidades para las que se recupera la información de asignación de derechos

success:
Función: devolución de llamada correcta

error:
Función: devolución de llamada fallida

si culmina con éxito:

[
{
“entityName” : <entityName1>,
“isEntitled” : true o false
},
{
“entityName” : <entityName2>,
“isEntitled” : true o false
},
]

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:
{ "entityName" : "isSavable" : "progressPercent" :  "downloadState" : }

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:
Función: devolución de llamada correcta

error:
Función: devolución de llamada fallida

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.
pageNumber está basado en cero, de manera que 0 es la primera página del artículo. Estos valores reflejan la ubicación física del contenido del artículo. En el caso de los artículos HTML, totalPageCount es 1 y pageNumber será 0.

Para obtener información adicional acerca de estas propiedades de metadatos, consulte Integración de sistemas de terceros con AEM Mobile.

Propiedades: EntityList

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.

Métodos

Nombre Argumentos Respuesta Compatibilidad con la entidad Comentarios
getNextPage
(success o error)

success:
Función: devolución de llamada correcta

error:
Función: devolución de llamada fallida

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.

Propiedades: error de contexto

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

 

Propiedades, descargar estado

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

 

API de dispositivo

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.

Propiedades: Dispositivo

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)

API de aplicación

Disponibilidad

Este complemento define el objeto cq.mobile.application global. No estará disponible hasta después del evento deviceready.

Propiedades: Aplicación

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
Compruebe si el botón Buscar está activado
cq.mobile.application.isSocialSharingEnabled Booleano Compruebe si el botón Compartir en redes sociales está activado

API de usuario

Disponibilidad

Este complemento define el objeto cq.mobile.user global. No estará disponible hasta después del evento deviceready.

Eventos

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.

Propiedades: Aplicación

Nombre Tipo Volátil Comentarios
cq.mobile.user.authToken Cadena  
cq.mobile.user.isAuthenticated Booleano  

Métodos

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.
Cualquier solicitud a esta API realizada mientras que una solicitud anterior está en vuelo devolverá un error de límite de la velocidad de la red excedido hasta que cualquier solicitud anterior devuelva una operación realizada correctamente o un error.

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.

 

Propiedades: errores de usuario

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

API de asignación de derechos

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.

Propiedades, oferta

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".

Propiedades, información de suscripción

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.

Propiedades, 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.

Propiedades, 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.
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.

Propiedades, integrator

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.

Métodos

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.

Errores, asignación de derechos

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

Registro de cambios

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).

 

Esta obra está autorizada con arreglo a la licencia de Reconocimiento-NoComercial-CompartirIgual 3.0 Unported de Creative Commons.  Los términos de Creative Commons no cubren las publicaciones en Twitter™ y Facebook.

Avisos legales   |   Política de privacidad en línea