Configuration requise

Connaissances préalables

  • Compréhension d'AEM Mobile
  • Maîtrise du processus de création et de publication de contenu via le portail à la demande
  • Maîtrise de JavaScript 

Produits requis

  • AEM Mobile

Introduction

Les plug-ins activés pour Cordova spécifiques à Experience Manager Mobile sont un ensemble d'API JavaScript proposant un accès à des données spécifiques liées à l'application et à l'article actuellement affiché. Pour utiliser les plug-ins Cordova spécifiques à AEM Mobile, l'option « Activer les fonctionnalités d'extensibilité » doit être sélectionnée dans les propriétés de l'article sur le portail des services à la demande ou le paramètre isTrustedContent dans les métadonnées de l'entité de l'article doit être défini avec la valeur Vrai via l'interface On-Demand Services API.

Les plug-ins activés pour Cordova spécifiques à AEM Mobile utilisent l'espace de noms cq.mobile afin d'éviter tout conflit avec les autres plug-ins Cordova. L'API est composée de plusieurs modules, chaque module étant un singleton avec un certain nombre de méthodes et de propriétés.

Pour plus d'informations sur l'utilisation des interfaces Cordova API de base, reportez-vous à la page Utilisation des plug-ins Cordova dans AEM Mobile.

Les plug-ins activés pour Cordova sont répartis sur les onglets Contexte, Appareil, Application et Utilisateur.

 

Exemples Cordova

Vidéo sur l'interface GetEntity API

Vidéo sur l'interface GetEntity API

API de contexte

Propriétés- Contexte

Le module de contexte permet d'accéder à des informations sur les entités dans le contexte donné.

Disponibilité

Ce plug-in définit l'objet global cq.mobile.context. Il n'est pas disponible avant la fin de l'événement deviceready.

Nom Type Volatile Commentaires
cq.mobile.context.collection Entité1 Non Peut être vide (nul) si le contexte actuel est un contexte orphelin.
cq.mobile.context.entity Entité1 Non

Renvoie l'entité dans le champ d'application.

Champs d'application :

  • WebView de contenu - Contenu affiché dans la vue web.
  • WebView d'incrustation - Contenu auquel appartient l'incrustation.
  • Bannière dynamique WebView – Bannière dynamique à laquelle appartient la vue WebView.
cq.mobile.context.nextEntity Entité1 Non

Peut être vide (nul) s'il s'agit de la dernière entité.

Remarque : l'entité suivante pour une bannière dynamique est l'entité suivant la bannière dynamique dans l'affichage de la navigation, qui peut être différente de l'entité suivante dans le tableau des éléments pour la collection parent. Ceci est différent de ce qui se passe lorsque l'entité nextEntity est appelée à partir d'un article (qui renvoie l'ordre du tableau des éléments enfant de la collection parent).

cq.mobile.context.previousEntity Entité1 Non

Peut être vide (nul) s'il s'agit de la première entité.

Pour les bannières dynamiques, reportez-vous à la remarque ci-dessus pour l'entité nextEntity.

cq.mobile.context.type Chaîne Non Valeurs possibles : « article », « overlay », « dynamicBanner »

1 L'entité contient les champs suivants, comme décrit dans la section suivante : id, metadata, rootPath et type

Propriétés - Entité

Nom Type Commentaires
id Chaîne  
metadata Objet2 Métadonnées spécifiques à un type d'entité
rootPath Chaîne S'applique uniquement aux articles et aux bannières dynamiques. Représente le chemin racine de l'entité s'exécutant dans le contexte actuel. Peut être utilisé comme référence à d'autres plug-ins pour créer un chemin vers une ressource contenue dans l'entité (iOS et Android uniquement).
type Chaîne Valeurs possibles : « collection », « article », « banner », « dynamicBanner »

2 L'objet Metadata contient un ensemble de champs différents selon le type d'entité, comme décrit dans la section suivante.

Propriétés - Métadonnées

Nom Type Prise en charge pour l'entité Commentaires
abstract
Chaîne Article, collection, bannière, bannière dynamique  
accessState Chaîne Article
Valeurs possibles : « free », « metered », « protected »
adCategory Chaîne Article, bannière dynamique
 
adType Chaîne Article, bannière dynamique
Valeurs possibles : « static », « EFT »
allowDownload Booléen Collection  
articleText Chaîne Article
 
author Chaîne Article
 
authorURL Chaîne Article
 
availabilityDate Chaîne Article, collection, bannière, bannière dynamique  
advertiser Chaîne Article, bannière dynamique
 
category Chaîne Article, collection, bannière, bannière dynamique  
created Chaîne Article, collection, bannière, bannière dynamique  
department Chaîne Article, collection, bannière, bannière dynamique  
entityName Chaîne Article, collection, bannière, bannière dynamique  
hideFromBrowsePage Booléen Article
 
importance Chaîne Article, collection, bannière, bannière dynamique Valeurs possibles : « low », « normal », « high »
isAd Booléen Article, bannière dynamique
 
isIssue Booléen Article
 
keywords Table de chaînes Article, collection, bannière, bannière dynamique  
lateralNavigation Booléen Collection  
modified Chaîne Article, collection, bannière, bannière dynamique  
openTo Chaîne Collection Valeurs possibles : « browsePage », « contentView »
productIds Table de chaînes Collection  
published Chaîne Article, collection, bannière, bannière dynamique  
readingPosition Chaîne Collection Valeurs possibles : « reset », « retain »
shortAbstract Chaîne Article, collection, bannière, bannière dynamique  
shortTitle Chaîne Article, collection, bannière, bannière dynamique  
socialShareUrl Chaîne Article, collection, bannière, bannière dynamique  
tapAction Chaîne Bannière  
title Chaîne Article, collection, bannière, bannière dynamique  
url Chaîne Article, collection, bannière, bannière dynamique  
version Chaîne Article, collection, bannière, bannière dynamique  

Méthodes

Nom Arguments Réponse Commentaires
getEntity
(entityName,
entityType, forceUpdate,
succès, erreur)

entityName :
Chaîne - Nom de l'entité

entityType :
Chaîne - Type de l'entité

forceUpdate:
Booléen - Si « vrai », toujours interroger le serveur pour la dernière version

succès :
Fonction - Rappel de succès

erreur :
Fonction - Rappel d'erreur

pour succès : objet Entity

Remarque : la valeur « null » est une valeur renvoyée autorisée pour les bannières dynamiques (il ne s'agit pas d'une propriété obligatoire pour ce type d'entité)

pour échec : objet cq.mobile.contextError, le code de propriété étant renseigné

Article, bannière, collection, bannière dynamique pris en charge

entityName doit correspondre au nom (et non au titre) trouvé dans les services à la demande.

entityType doit correspondre aux valeurs trouvées dans Entity.type

Si forceUpdate est faux et l'entité est mise en cache, cette entité est retournée. Il est possible qu'il ne s'agisse pas de la dernière version de cette entité.

Si forceUpdate est vrai, mais la connexion au serveur est impossible, l'entité existante est renvoyée, si disponible en mémoire cache. S'il n'y a rien en mémoire cache, une erreur réseau est renvoyée.

Si la connexion au serveur est impossible, mais l'entité demandée est introuvable (ou est restreinte et l'utilisateur n'y a pas droit), une erreur Entité non trouvée est renvoyée.

getEntitlementInfo
(entityOrEntityList,
succès, erreur)

entityOrEntityList:
Objet Entity ou EntityList - Entité ou entités pour lesquelles les informations sur les droits doivent être extraites

succès :
Fonction - Rappel de succès

erreur :
Fonction - Rappel d'erreur

pour succès :

[
{
« entityName » : <entityName1>,
« isEntitled » : true ou false
},
{
« entityName » : <entityName2>,
« isEntitled » : true ou false
},
]

pour échec : objet cq.mobile.contextError, le code de propriété étant renseigné

Collection prise en charge

getEntitlementInfo () renverra uniquement les informations sur les droits pour les collections. Si un objet Entity ne faisant pas partie d'une collection est transmis, une erreur Type d'entité erroné est renvoyée.

Si un objet EntityList est transmis, seul entitlementInfo pour les objets de collection est renvoyé. S'il n'y a aucune collection, le tableau renvoyé est vide.

La 26ème requête (et toute requête ultérieure) à cette API au cours d'une période d'une minute retournera une erreur Dépassement de la limite de taux de réseau.

Si le périphérique est hors ligne, les informations sur les droits mises en cache sont renvoyées.

Si le périphérique est connecté et le service de droits ne peut pas être contacté, une erreur réseau est renvoyée.

getEntityStatus
(entité, succès, erreur)

entité : statut de téléchargement de la collection.

succès : Fonction - Rappel de succès

erreur : Fonction - Rappel d'erreur

pour succès :
{ "entityName" : "isSavable" : "progressPercent" : "downloadState" : }

pour échec : objet cq.mobile.contextError, le code de propriété étant renseigné

Collection prise en charge

getEntityStatus() extraira les informations sur le statut de téléchargement pour l'entité de collection.

Informations sur le statut :

« entityName » : nom de l'entité de collection.

« isSavable » : le téléchargement (enregistrement) doit être autorisé dans les propriétés de la collection et celle-ci doit avoir des droits suffisants pour retourner la valeur vrai.

« progressPercent » : quantité de la collection actuellement téléchargée, en pourcentage compris entre 0 et 100. Remarque : cette valeur peut ne pas toujours être précise si les informations ont été purgées de la mémoire. Les différents états de téléchargement sont décrits dans la suite de ce document.

Erreurs : getEntityStatus() renverra uniquement les informations sur le statut des droits pour les collections. Si un objet Entité ne faisant pas partie d'une collection est transmis, non trouvé ou n'a pas été initialisé, une erreur est renvoyée. La liste des erreurs figure dans la suite de ce document.

saveEntity(entité, isSilent, succès, erreur)

entité : collection à télécharger et enregistrer.

isSilent : BOOL - (Android uniquement) si vrai, l'entité est sauvegardée en arrière-plan sans notification.

succès : Fonction - Rappel de succès.

erreur : Fonction - Rappel d'erreur.

pour succès : { "rawEntity" : "downloadPercent" : "downloadState" }

pour échec : erreur, le code de propriété étant renseigné

Collection prise en charge

saveEntity() téléchargera et enregistrera l'entité de collection donnée. Cela correspond à cliquer sur le bouton Télécharger dans l'IU.

Rappel de succès : le rappel de succès retourne l'objet Entité enregistré. En outre, le rappel de succès est appelé chaque fois qu'il y a une mise à jour de la progression du téléchargement. La progression peut être suivie via les valeurs retournées « downloadPercent » et « downloadState ». Lorsque l'enregistrement/le téléchargement est initié, le téléchargement de la collection doit devenir le téléchargement actif en cours. Si un autre téléchargement de collection a débuté, cette collection devient le téléchargement actif et la première collection est mise en pause. Le téléchargement de la première collection doit reprendre et le statut prendre la valeur Actif lorsque le téléchargement de la deuxième collection se termine.

Erreurs : saveEntity() téléchargera uniquement des collections. Si un objet Entité ne faisant pas partie d'une collection est transmis, si la collection n'est pas trouvée ou si le téléchargement est annulé, une erreur est renvoyée. La liste des erreurs figure dans la suite de ce document.

archiveEntity(entité, succès, erreur)

entité : objet Entité - entité à archiver (dé-enregistrer)

succès : Fonction - Rappel de succès

erreur : Fonction - Rappel d'erreur

pour succès : objet Entité

pour échec : erreur, le code de propriété étant renseigné

Collection prise en charge

archiveEntity() archivera (contrairement à saveEntity()) l'entité de collection donnée. Cela correspond à cocher la case dans l'IU. Si la collection est entièrement téléchargée et enregistrée, archiveEntity la marque comme non persistante et faisant l'objet de la purge. Si la collection est en cours de téléchargement ou en attente de téléchargement, celui-ci sera annulé et le contenu déjà téléchargé sera marqué comme devant être purgé.

Succès : l'objet Entité archivé est retourné.

Erreurs : archiveEntity() archivera uniquement des collections. Si un objet Entité ne faisant pas partie d'une collection est transmis ou si la collection n'est pas trouvée, une erreur est renvoyée.

getSavedEntities(succès, erreur)

succès : Fonction - Rappel de succès

erreur : Fonction - Rappel d'erreur

pour succès : tableau des objets Entité

pour échec : erreur, le code de propriété étant renseigné

Collection prise en charge

getSavedEntities() retournera un tableau des objets Entité entièrement téléchargés ou en file d'attente de téléchargement et qui seront enregistrés.

getBackgroundImage
(largeur, hauteur, succès, erreur)

largeur : Nombre - largeur demandée

hauteur : Nombre - hauteur demandée

succès : Fonction - Rappel de succès

erreur : Fonction - Rappel d'erreur

pour succès : URL de fichier vers l'image d'arrière-plan en tant qu'argument du rappel de succès

pour échec : objet cq.mobile.contextError, le code de propriété étant renseigné

Collection prise en charge

Le lecteur d'exécution n'effectue pas de mise à l'échelle de l'image, mais renvoie la taille de l'image la plus proche de la taille spécifiée.

Demande l'image d'arrière-plan aux services à la demande si l'image n'est pas en cache sur l'appareil. Dans la plupart des cas, l'image reste dans le cache pour le futur immédiat.

Si l'appel est tenté sur les entités de type autre que Collection, le rappel d'erreur est appelé.

getThumbnailImage
(largeur, hauteur, succès, erreur)

largeur : Nombre - largeur demandée

hauteur : Nombre - hauteur demandée

succès : Fonction - Rappel de succès

erreur : Fonction - Rappel d'erreur

pour succès : URL de fichier vers l'image de la vignette en tant qu'argument du rappel de succès

pour échec : objet cq.mobile.contextError, le code de propriété étant renseigné

Article, bannière, collection, bannière dynamique pris en charge

Le lecteur d'exécution n'effectue pas de mise à l'échelle de l'image, mais renvoie la taille de l'image la plus proche de la taille spécifiée.

Demande l'image de la vignette aux services à la demande si l'image n'est pas en cache sur l'appareil. Dans la plupart des cas, l'image reste dans le cache pour le futur immédiat.

 

getSocialSharingImage
(largeur, hauteur, succès, erreur)

largeur : Nombre - largeur demandée

hauteur : Nombre - hauteur demandée

succès : Fonction - Rappel de succès

erreur : Fonction - Rappel d'erreur

pour succès : URL de fichier vers l'image de partage sur les réseaux sociaux en tant qu'argument du rappel de succès

pour échec : objet cq.mobile.contextError, le code de propriété étant renseigné

Article pris en charge

Le lecteur d'exécution n'effectue pas de mise à l'échelle de l'image, mais renvoie la taille de l'image la plus proche de la taille spécifiée.

Demande l'image de partage sur les réseaux sociaux aux services à la demande si l'image n'est pas en cache sur l'appareil. Dans la plupart des cas, l'image reste dans le cache pour le futur immédiat.

Si l'appel est tenté sur les entités de type autre que Collection, le rappel d'erreur est appelé.

getChildren (succès, erreur)

succès :
Fonction - Rappel de succès

erreur :
Fonction - Rappel d'erreur

pour succès : objet EntityList

pour échec : objet cq.mobile.contextError, le code de propriété étant renseigné

Collection prise en charge

EntityList contiendra toutes les entités enfant non-restreintes pour cette collection qui se trouvent en mémoire cache. S'il n'en existe aucune, un téléchargement de la première page serveur des enfants est tenté.

getContentLocation (succès, erreur)

succès : Fonction - Rappel de succès

erreur : Fonction - Rappel d'erreur

pour succès : retourne l'objet ContentLocation

Article pris en charge

L'objet ContentLocation comporte pageNumber et totalPageCount.
pageNumber est en base zéro, 0 est donc la première page de l'article. Ces valeurs reflètent l'emplacement physique du contenu de l'article. Pour les articles HTML, totalPageCount est 1 et pageNumber est 0.

Pour toute information complémentaire sur les propriétés de ces métadonnées, reportez-vous à la page Intégration de systèmes tiers avec AEM Mobile.

Propriétés - EntityList

Nom Type Commentaires
entités Tableau Liste des entités. Entités possibles : « article », « collection », « bannière ».
hasNextPage Booléen Si « vrai », il y a d'autres entités dans la liste. Utilisez la méthode getNextPage() pour extraire la page suivante des entités de la liste.

Méthodes

Nom Arguments Réponse Prise en charge pour l'entité Commentaires
getNextPage
(réussite, erreur)

succès :
Fonction - Rappel de succès

erreur :
Fonction - Rappel d'erreur

pour succès : la propriété entities contient des éléments Entity supplémentaires et la propriété hasNextPage est mise à jour

pour échec : objet cq.mobile.contextError, le code de propriété étant renseigné

Collection

Si getNextPage () est appelé lorsque hasNextPage est faux, l'erreur Pas d'autre page d'entité est renvoyée.

Les entités renvoyées ne seront pas restreintes. Les informations restreintes peuvent avoir changé depuis le dernier appel de getNextPage(). Si tel est le cas, l'erreur Page d'entité obsolète est renvoyée. Vous devrez appeler getEntity() sur la collection pour extraire la collection mise à jour et appeler getChildren() avec cette collection mise à jour.

Propriétés - Erreur de contexte

cq.mobile.contextError est un objet d'énumération, définissant tous les codes d'erreur pris en charge pour les méthodes de contexte.

Nom Valeur
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

 

Propriétés - Etat du téléchargement

cq.mobile.downloadState est un objet d'énumération, définissant tous les codes d'erreur pris en charge pour les méthodes de téléchargement de collection.

Nom Valeur
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 périphérique

Le module de périphérique fournit la valeur du code natif. Notez que ces propriétés résident dans un espace de noms différent du plug-in d'appareil Cordova (window.cq.mobile.device et window.device).

Disponibilité

Les propriétés suivantes seront ajoutées en plus des plug-ins d'appareil Cordova.

Propriétés - Appareil

Nom Type Volatile
Commentaires
cq.mobile.device.class Chaîne Non Valeurs possibles : Phone, Tablet (Windows renvoie uniquement Tablet, les smartphones n'étant pas pris en charge)
cq.mobile.device.vendorId Chaîne Non iOS uniquement (reportez-vous à IdentifierForVendor dans le guide du développeur iOS)

API d'application

Disponibilité

Ce module externe définit l'objet global cq.mobile.application. Il n'est pas disponible avant la fin de l'événement deviceready.

Propriétés - Application

Nom Type Volatile Commentaires
cq.mobile.application.id Chaîne Non exemple : com.adobe.create
cq.mobile.application.pushNotificationToken Chaîne Non Jeton de notification Push pour l'appareil (jeton d'appareil sur iOS, ID d'inscription sur Android, le lecteur Windows n'ayant pas implémenté les notifications Push, la valeur sera donc « indéfini » en attendant)
cq.mobile.application.runtimeVersion Chaîne Non Exemple : 2015.5.1
cq.mobile.application.version Chaîne Non Version de l'application, telle que 1.0.4
cq.mobile.application.isAppSearchEnabled Booléen Oui
Vérifier que l'option Rechercher est activée
cq.mobile.application.isSocialSharingEnabled Booléen Oui Vérifier que l'option Partage sur les réseaux sociaux est activée

API utilisateur

Disponibilité

Ce module externe définit l'objet global cq.mobile.user. Il n'est pas disponible avant la fin de l'événement deviceready.

Événements

Nom Commentaires
isauthenticatedchanged L'événement est déclenché lorsque l'utilisateur modifie l'état de l'authentification. Les clients doivent rechercher le dernier état de l'objet utilisateur.
authtokenchanged L'événement est déclenché lorsque les jetons d'authentification de l'utilisateur sont modifiés. Les clients doivent rechercher le dernier état de l'objet utilisateur.

Propriétés - Application

Nom Type Volatile Commentaires
cq.mobile.user.authToken Chaîne Oui  
cq.mobile.user.isAuthenticated Booléen Oui  

Méthodes

Nom Arguments Réponse Commentaires
setAuthToken (authToken, succès, erreur)

authToken : chaîne - valeur demandée pour authToken

succès : Fonction - Rappel de succès

erreur : Fonction - Rappel d'erreur

pour succès : appelle le rappel de succès sans paramètres

pour échec : appelle le rappel d'erreur avec le code cq.mobile.userError défini

Cet appel s'exécute correctement uniquement sur les projets qui ont une configuration de fournisseur d'identité générique ou qui ont uniquement un fournisseur de droits directs (aucun fournisseur d'identité). Dans le cas contraire, une erreur de prise en charge d'authentification est renvoyée lorsque cette API est appelée.

Si l'appel de setAuthToken échoue pour une raison quelconque (erreur 502, 503 ou 504 retournée), le lecteur réessaie en principe une fois. Si le nouvel essai échoue ou si aucun nouvel essai est exécuté, une erreur réseau est renvoyée.
Toute requête à cette API effectuée lorsqu'une requête précédente est en cours retournera une erreur de dépassement de la limite de taux de réseau jusqu'à ce que la requête précédente retourne un succès ou un échec.

La 11ème requête à cette API dans une période d'une minute retournera une erreur de dépassement de la limite de taux de réseau, de même que chaque requête suivante après cette 11ème requête, jusqu'à ce qu'une minute se soit écoulée depuis la 1ère requête.

launchSignInUX(erreur) erreur : Fonction - Rappel d'erreur pour échec : appelle le rappel d'erreur avec le code cq.mobile.userError défini

Si l'authentification est effectuée via un serveur de droits, la boîte de dialogue de connexion native est affichée.

Si l'authentification est effectuée via un fournisseur d'identité, l'URL d'authentification est affichée dans une vue web sur des lecteurs des périphériques ou elle redirige vers l'URL d'authentification sur le lecteur web pour ordinateur.

Si aucune authentification n'est spécifiée dans le projet, l'appel de cette API renvoie une erreur de prise en charge de l'authentification.

Si l'utilisateur est déjà authentifié, une erreur État d'authentification non valide est renvoyée.

Si le lecteur web n'arrive pas à extraire les paramètres d'authentification, une erreur réseau est renvoyée.

Les utilisateurs peuvent toujours se déconnecter des lecteurs de périphériques en étant hors connexion.

signOut(erreur) erreur : Fonction - Rappel d'erreur pour échec : appelle le rappel d'erreur avec le code cq.mobile.userError défini

Déconnecte l'utilisateur et actualise l'état de déconnexion à refléter dans l'interface utilisateur.

Si aucune authentification n'est spécifiée dans le projet, l'appel de cette API renvoie une erreur de prise en charge de l'authentification.

Si l'utilisateur est déjà authentifié, une erreur État d'authentification non valide est renvoyée.

Si le lecteur web n'arrive pas se déconnecter, une erreur réseau est renvoyée.

Si les paramètres d'authentification ne peuvent pas être extraits, les lecteurs de périphériques utilisent les paramètres d'authentification en mémoire cache.

refreshSignIn(succès, erreur)

succès : Fonction - Rappel de succès

erreur : Fonction - Rappel d'erreur

pour succès : appelle le rappel de succès sans paramètres

pour échec : appelle le rappel d'erreur avec le code cq.mobile.userError défini

Utilisez cette API pour essayer d'actualiser la connexion de l'utilisateur uniquement lorsque vous déterminez que la session en cours n'est plus valide. Cette API actualise la connexion dans deux cas uniquement :

1) Le projet est configuré avec un service de droits mais sans authentification personnalisée. L'appel de cette API entraîne un appel de renewAuthToken sur le service de droits.

2) Le projet est configuré avec un fournisseur d'identité OAuth qui fournit pour un jeton actualisé. L'appel de cette API tente d'utiliser ce jeton actualisé pour actualiser la connexion de la session.

Dans les deux cas, l'actualisation peut ne pas réussir. Si cela se produit, l'utilisateur est déconnecté.

Dans tous les autres cas, notamment si cette API est appelée sur une configuration du projet avec un fournisseur d'identité SAML ou OAuth ne prenant pas en charge l'actualisation, cette actualisation échoue, déconnecte l'utilisateur et renvoie l'utilisateur sur la page d'accueil.

Si aucune authentification n'est spécifiée dans le projet, l'appel de cette API renvoie une erreur de prise en charge de l'authentification.

Si l'utilisateur n'est pas authentifié, une erreur État d'authentification non valide est renvoyée.

Si les lecteurs sont hors ligne et la connexion ne peut pas être actualisée, une erreur réseau est renvoyée.

Si les paramètres d'authentification ne peuvent pas être extraits, les lecteurs de périphériques utilisent les paramètres d'authentification en mémoire cache.

Remarque :

lorsqu'une erreur inattendue se produit avec l'un de ces appels d'API, un code « UNKNOWN_ERROR » est renvoyé dans le rappel d'erreur.

 

Propriétés - Erreur de l'utilisateur

cq.mobile.userError est un objet d'énumération, définissant tous les codes d'erreur pris en charge pour les méthodes utilisateur.

Nom Valeur
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 droits

Disponibilité

Ce module externe définit l'objet de droits global, qui fournit les méthodes liées aux droits et aux achats. Il n'est pas disponible avant la fin de l'événement deviceready.

Propriétés - Offre

Nom Type Commentaires
productId Chaîne ID du produit/de l'abonnement qui s'affiche dans la section Produits et abonnements de Portal.
label Chaîne Nom du produit/de l'abonnement qui s'affiche dans la section Produits et abonnements de Portal. Sera nul si non défini par l'utilisateur.
description Chaîne Description du produit/de l'abonnement qui s'affiche dans la section Produits et abonnements de Portal. Sera nulle si non définie par l'utilisateur.
price Chaîne Prix retourné par le magasin correspondant. Nul si le produit est gratuit.
offerType Chaîne Peut être « abonnement » ou « produit ».

Propriétés - Informations sur l'abonnement

Nom Type Commentaires
subscriptionOffers Tableau Tableau des objets Offre. Vide si l'utilisateur a un abonnement actif.
subscriptionState Objet Objet subscriptionState.

Propriétés - État de l'abonnement

Nom Type Commentaires
isSubscriber
Booléen Vrai si l'utilisateur a été abonné à un moment donné. Notez que subscriptionState.isSubscriber est identique à subscriptionState.store.isSubscriber et subscriptionState.integrator.isSubscriber.
isActiveSubscriber
Booléen Vrai si l'utilisateur a un abonnement actif.
store Objet Objet Magasin qui contient l'état de l'abonnement pour le magasin du produit.
integrator Objet Objet Intégrateur qui contient l'état de l'abonnement pour l'intégrateur des droits.

Propriétés - Magasin

Nom Type Commentaires
isSubscriber
Booléen Vrai si l'utilisateur a été abonné à un moment donné.
isActiveSubscriber
Booléen Vrai si l'utilisateur a un abonnement actif.
expirationDate Nombre Horodatage en millisecondes depuis la date d'expiration. Cette valeur peut être nulle si l'abonnement (du magasin ou de l'intégrateur des droites) n'a aucune date d'expiration.
subscriptionType Chaîne Peut être « allAccess » ou « standard ». Valide uniquement si isSubscriber est vrai.
id Chaîne ID du produit de l'abonnement dans le magasin.

Propriétés - Intégrateur

Nom Type Commentaires
isSubscriber
Booléen Vrai si l'utilisateur a été abonné à un moment donné.
isActiveSubscriber
Booléen Vrai si l'utilisateur a un abonnement actif.
expirationDate Nombre Horodatage en millisecondes depuis la date d'expiration. Cette valeur peut être nulle si l'abonnement (du magasin ou de l'intégrateur des droites) n'a aucune date d'expiration.
customData Chaîne customData ne sera pas défini si le paramètre isSubscriber associé est faux. Si isSubscriber est vrai, il peut ou ne pas être défini. customData peut être retourné par l'intégrateur. Il est prévu pour contenir des données transparentes pour Adobe et n'a une signification que pour le client.

Méthodes

Nom Arguments Réponse Commentaires
getSubscriptionInfo(succès, erreur)

succès : rappel de succès

erreur : rappel d'erreur

pour succès : objet SubscriptionInfo.

Cette méthode retourne les informations d'abonnement de la publication et de l'appareil en cours. Après 60 requêtes d'API effectuées dans une période d'une minute, toute requête suivante à cette API retournera une erreur jusqu'à ce qu'une minute se soit écoulée depuis la première requête.

Le lecteur web pour ordinateur ne prend en charge cette API et retourne toujours une erreur.

getOffers(collectionName, succès, erreur)

collectionName : Chaîne - nom de la collection

succès : Fonction - Rappel de succès

erreur : Fonction - Rappel d'erreur

pour succès : tableau des objets Offre

pour échec : erreur, le code de propriété étant renseigné

collectionName doit correspondre au nom trouvé dans Portal.

Si l'entité demandée est introuvable ou si elle est restreinte et non visible, une erreur est renvoyée.

Les offres en cache pour l'entité demandée sont renvoyées, si disponibles. Sinon, une demande réseau au service de droites est envoyée pour extraire les offres.

Après 60 requêtes du réseau au service de droites effectuées dans une période d'une minute, toute requête suivante aux résultats de cette API retournera une erreur jusqu'à ce qu'une minute se soit écoulée depuis la première requête.

Le lecteur web pour ordinateur ne prend en charge cette API et retourne toujours une erreur.

purchaseOffer(productId, succès, erreur)

productId : Chaîne - productId de l'offre à acheter

succès : Fonction - Rappel de succès

erreur : Fonction - Rappel d'erreur

pour succès : une demande d'achat est initiée

pour échec : code erreur des appels

Cette méthode initie une demande d'achat.
restorePurchases(successCallback, errorCallback)

succès : Fonction - Rappel de succès

erreur : Fonction - Rappel d'erreur

pour succès : une demande de restauration des achats est initiée

pour échec : code erreur des appels

Cette méthode initie une restauration des précédents achats pour l'utilisateur.

Après 5 requêtes d'API effectuées dans une période d'une minute, toute requête suivante à cette API retournera une erreur jusqu'à ce qu'une minute se soit écoulée depuis la première requête.

Erreurs - Droits

cq.mobile.entitlementError est un objet d'énumération, définissant tous les codes d'erreur pris en charge pour les méthodes de droits.

Nom Valeur
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

Journal des modifications

16 mars 2017

Ajout d'informations sur l'API pour le téléchargement d'entités de collection.

Ajout d'informations sur l'API pour les achats et les droits.

10 janvier 2017

cq.mobile.application.isAppSearchEnabled et cq.mobile.application.isSocialSharingEnabled ajoutés (voir la section Application)

9 août 2016

getLocationContent ajouté (voir la section Contexte)

30 juin 2016

setAuthToken ajouté (voir la section Utilisateur)

23 juin 2016

Ajout de la possibilité de traverser la structure de la collection des services à la demande :

  • Mise à jour des métadonnées d'entité avec prise en charge des bannières (voir l'onglet Contexte).
  • getEntity() ajouté pour demander l'entité de l'article/la bannière/la collection (voir l'onglet Contexte).
  • getEntitlementInfo() ajouté pour demander les informations sur les droits pour la collection (voir l'onglet Contexte).
  • getChildren() ajouté pour demander la liste des entités enfant immédiates pour la collection (voir l'onglet Contexte).
  • getNextPage() pour demander la page suivant des entités à partir de la liste retournée par getChildren() (voir l'onglet Contexte).
  • Objets d'énumération ajoutés pour définir les codes d'erreur pour les méthodes utilisées dans cq.mobile.context et cq.mobile.user (voir l'onglet Contexte et Utilisateur).

 

Ce produit est distribué sous licence Creative Commons Attribution - Pas d’utilisation commerciale - Partage à l’identique 3.0 non transposé  Les publications Twitter™ et Facebook ne sont pas couvertes par les dispositions Creative Commons.

Mentions légales   |   Politique de confidentialité en ligne