Requisiti

Conoscenza dei prerequisiti

  • Informazioni su AEM Mobile
  • Conoscenza della creazione e della pubblicazione di contenuto tramite il portale on-demand
  • Conoscenza di JavaScript 

Prodotti richiesti

  • AEM Mobile

Introduzione

I plug-in abilitati a Cordova specifici di Experience Manager Mobile sono una serie di API JavaScript che forniscono l'accesso a dati specifici correlati all'applicazione e all'articolo visualizzato correntemente. Per utilizzare i plug-in AEM Mobile Cordova, gli articoli devono avere l'opzione “Abilita le funzioni di estensibilità” selezionata nel portale dei servizi on-demand o impostare il parametro isTrustedContent nei metadati dell'entità articolo su true tramite On-Demand Services API.

I plug-in abilitati a Cordova specifici di AEM Mobile utilizzano lo spazio dei nomi cq.mobile per evitare conflitti con gli altri plug-in di Cordova. L'API è composta da diversi moduli, ciascuno dei quali è un singleton con metodi e proprietà.

Per informazioni sull'utilizzo delle API Cordova di base, consultate Utilizzare i plug-in Cordova in AEM Mobile.

I plug-in abilitati a Cordova si dividono in Contesto, Dispositivo, Applicazione e Utente.

 

Esempi di Cordova

Video sulle API GetEntity

Video sulle API GetEntity

API Contesto

Proprietà – Contesto

Il modulo del contesto fornisce l'accesso alle informazioni di entità all'interno di un dato contesto.

Disponibilità

Questo plug-in definisce l'oggetto cq.mobile.context globale. È disponibile esclusivamente dopo l'evento deviceready.

Nome Tipo Volatile Commenti
cq.mobile.context.collection Entità1 No Può essere vuoto (null) se il contesto corrente è orfano.
cq.mobile.context.entity Entità1 No

Restituisce l'entità nell'ambito.

Ambiti:

  • WebView contenuto: il contenuto visualizzato nella visualizzazione Web.
  • WebView sovrapposizione: il contenuto a cui appartiene la sovrapposizione.
  • WebView banner dinamico – Il banner dinamico a cui la Webview appartiene.
cq.mobile.context.nextEntity Entità1 No

Può essere vuoto (null) se si tratta dell'ultima entità.

Nota: l'entità successiva per un banner dinamico è l'entità che segue il banner dinamico, in una visualizzazione di ricerca che potrebbe essere diversa dall'entità successiva nell'array degli elementi per la raccolta principale. Tutto questo è diverso da ciò che si verifica quando nextEntity viene chiamato da un articolo (che restituirà l'ordine dell'array di elementi secondari della raccolta principale).

cq.mobile.context.previousEntity Entità1 No

Può essere vuoto (null) se si tratta della prima entità.

Per i banner di dinamici, consultate la nota sopra per nextEntity.

cq.mobile.context.type Stringa No Valori possibili: “article”, “overlay”, "dynamicBanner"

1 L'entità contiene i seguenti campi, come descritto nella sezione successiva: id, metadata, rootPathtype

Proprietà – Entità

Nome Tipo Commenti
id Stringa  
metadata Oggetto2 I metadati specifici per il tipo di entità
rootPath Stringa Si applica solo agli articoli e ai banner dinamici. Rappresenta il percorso radice dell'entità in esecuzione nel contesto corrente. Può essere utilizzato come riferimento ad altri plug-in, per creare un percorso a una risorsa contenuta all'interno dell'entità (solo iOS e Android).
type Stringa Valori possibili: “collection”, “article”, “banner”, "dynamicBanner"

2 L'oggetto metadata conterrà una serie di campi diversi, a seconda del tipo di entità, come descritto nella sezione successiva.

Proprietà – Metadati

Nome Tipo Supporto dell'entità Commenti
abstract
Stringa Articolo, raccolta, banner, Banner dinamico  
accessState Stringa Articolo
Valori possibili: “free”, “metered”, “protected”
adCategory Stringa Articolo, Banner dinamico
 
adType Stringa Articolo, Banner dinamico
Valori possibili: “static”, “EFT”
allowDownload Booleano Raccolta  
articleText Stringa Articolo
 
author Stringa Articolo
 
authorURL Stringa Articolo
 
availabilityDate Stringa Articolo, raccolta, banner, Banner dinamico  
advertiser Stringa Articolo, Banner dinamico
 
category Stringa Articolo, raccolta, banner, Banner dinamico  
created Stringa Articolo, raccolta, banner, Banner dinamico  
department Stringa Articolo, raccolta, banner, Banner dinamico  
entityName Stringa Articolo, raccolta, banner, Banner dinamico  
hideFromBrowsePage Booleano Articolo
 
importance Stringa Articolo, raccolta, banner, Banner dinamico Valori possibili: “low”, “normal”, “high”
isAd Booleano Articolo, Banner dinamico
 
isIssue Booleano Articolo
 
keywords Matrice di stringhe Articolo, raccolta, banner, Banner dinamico  
lateralNavigation Booleano Raccolta  
modified Stringa Articolo, raccolta, banner, Banner dinamico  
openTo Stringa Raccolta Valori possibili: “browsePage”, “contentView”
productIds Matrice di stringhe Raccolta  
published Stringa Articolo, raccolta, banner, Banner dinamico  
readingPosition Stringa Raccolta Valori possibili: “reset”, “retain”
shortAbstract Stringa Articolo, raccolta, banner, Banner dinamico  
shortTitle Stringa Articolo, raccolta, banner, Banner dinamico  
socialShareUrl Stringa Articolo, raccolta, banner, Banner dinamico  
tapAction Stringa Banner  
title Stringa Articolo, raccolta, banner, Banner dinamico  
url Stringa Articolo, raccolta, banner, Banner dinamico  
version Stringa Articolo, raccolta, banner, Banner dinamico  

Metodi

Nome Argomenti Risposta Commenti
getEntity
(entityName,
entityType, forceUpdate,
success, error)

entityName:
stringa - il nome dell'entità

entityType:
stringa – il tipo di entità

forceUpdate:
booleano – se 'true', eseguire sempre una query al server per la versione più recente

success:
funzione – callback di riuscita

error:
funzione – callback di errore

in caso di esito positivo: un oggetto Entity

Nota: null è un valore restituito consentito per i banner dinamici (poiché non si tratta di una proprietà richiesta per questo tipo di entità)

in caso di mancata riuscita: oggetto cq.mobile.contextError con la proprietà di codice popolata

Supporta articolo, banner, raccolta, banner dinamico

entityName deve corrispondere al nome (non al titolo) trovato nei servizi on-demand.

entityType deve corrispondere ai valori rilevati in Entity.type

Se forceUpdate è false e l'entità è inserita nella cache, tale entità viene restituita. Potrebbe non essere la versione più recente di tale entità.

Se forceUpdate è true ma non è possibile connettersi al server, l'entità esistente viene restituita se è disponibile nella cache. Se non sono presenti elementi nella cache, viene restituito un errore di rete.

Se è impossibile connettersi al server ma non è possibile trovare l'entità richiesta (o è limitata e l'utente non ha diritto), viene restituito un errore Entity Not Found.

getEntitlementInfo
(entityOrEntityList,
success, error)

entityOrEntityList:
oggetto Entity o EntityList – L'entità o le entità per cui recuperare le informazioni di adesione

success:
funzione – callback di riuscita

error:
funzione – callback di errore

in caso di esito positivo:

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

in caso di mancata riuscita: oggetto cq.mobile.contextError con la proprietà di codice popolata

Supporta la raccolta

getEntitlementInfo() restituirà solo informazioni di adesione per le raccolte. Se viene passato un oggetto Entity non della raccolta, viene restituito un errore Wrong Entity Type.

Se viene passato un oggetto EntityList, verrà restituito solo entitlementInfo per gli oggetti della raccolta. Se non sono presenti raccolte, la matrice di restituzione sarà vuota.

La ventiseiesima richiesta (e qualsiasi richiesta successiva) a questa API entro un minuto restituirà un errore Network Rate Limit Exceeded.

Se il dispositivo è offline, viene restituita qualsiasi informazione di adesione memorizzata nella cache.

Se il dispositivo è online e non è possibile contattare il servizio di adesione, viene restituito un errore di rete.

getEntityStatus
(entity, success, error)

entità: stato di download della raccolta.

success: funzione - callback di riuscita

error: funzione - callback di errore

in caso di riuscita:
{ "entityName" : "isSavable" : "progressPercent" :  "downloadState" : }

in caso di mancata riuscita: oggetto cq.mobile.contextError con codice proprietà popolato

Supporta la raccolta

getEntityStatus() recupererà le informazioni sullo stato del download per la raccolta Entity.

Informazioni stato:

"entityName": il nome della raccolta Entity.

"isSavable": la raccolta deve essere contrassegnata come download (salvare) consentito nelle proprietà della raccolta e disporre dell'adesione sufficiente a restituire true.

"progressPercent" : quantità della raccolta attualmente scaricata dallo 0 al 100 percento. Nota: non sempre questo valore può essere preciso se le informazioni sono state scaricate dalla memoria. Consultate gli stati di download più avanti nel documento.

Errori: getEntityStatus() restituirà solo le informazioni sullo stato dell'adesione per le raccolte. Se un oggetto Entity non appartenente alla raccolta viene passato, non viene trovato o non è stato inizializzato, viene restituito un errore. Consultate l'elenco degli errori più avanti in questo documento.

saveEntity(entity, isSilent, success, error)

entità: la raccolta da scaricare e salvare.

isSilent: BOOL - (solo Android) Se true, l'entità viene salvata in background senza notifica.

success: funzione - callback di riuscita.

error: funzione - callback di errore.

in caso di riuscita: { "rawEntity" : "downloadPercent" : "downloadState" }

in caso di mancata riuscita: errore con proprietà codice popolata

Supporta la raccolta

saveEntity() scaricherà e salverà la raccolta Entity data. È l'equivalente del pulsante di download nell'interfaccia utente.

Callback di riuscita: il callback di riuscita restituisce l'oggetto entità in corso di salvataggio. Inoltre, il callback di riuscita verrà chiamato ogni volta che si verifica un aggiornamento dell'avanzamento del download. È possibile tenere traccia dell'avanzamento tramite i valori restituiti "downloadPercent" e "downloadState". Quando si avvia il salvataggio o il download, il download della raccolta deve diventare il download attivo corrente. Se viene avviato il download di un'altra raccolta, tale raccolta diventerà il download attivo e la prima raccolta verrà messa in pausa. La prima raccolta deve riprendere il download e lo stato deve diventare attivo al termine del download della seconda raccolta.

Errori: saveEntity() scaricherà solo le raccolte. Se viene passato un oggetto Entity non appartenente alla raccolta, se la raccolta non viene trovata o se il download viene annullato, viene restituito un errore. Consultate l'elenco degli errori più avanti in questo documento.

archiveEntity(entity, success, error)

entity: oggetto Entity: l'entità da archiviare (annullamento del salvataggio)

success: funzione - callback di riuscita

error: funzione - callback di errore

in caso di riuscita: oggetto Entity

in caso di mancata riuscita: un errore con la proprietà di codice popolata

Supporta la raccolta

archiveEntity() archivierà (in opposizione a saveEntity()) la raccolta Entity data. È l'equivalente del pulsante del segno di spunta nell'interfaccia utente. Se la raccolta è stata completamente scaricata e salvata, archiveEntity la contrassegnerà come non persistente e soggetta a eliminazione. Se il download della raccolta è attivo o è in coda, verrà annullato e il contenuto che è stato scaricato verrà contrassegnato come eliminabile.

Success: viene restituito l'oggetto Entity archiviato.

Errori: archiveEntity() archivierà solo le raccolte. Se viene passato un oggetto Entity non appartenente alla raccolta o se la raccolta non viene trovata, viene restituito un errore.

getSavedEntities(success, error)

success: funzione - callback di riuscita

error: funzione - callback di errore

in caso di riuscita: array di oggetti Entity

in caso di mancata riuscita: errore con proprietà codice popolata

Supporta la raccolta

getSavedEntities() restituirà un array di oggetti Entity completamente scaricati o in coda per il download e verrà salvata.

getBackgroundImage
(width, height, success, error)

width: numero - la larghezza richiesta

height: numero - l'altezza richiesta

success: funzione - callback di riuscita

error: funzione - callback di errore

in caso di esito positivo: l'URL di un file all'immagine di sfondo come argomento del callback success

in caso di mancata riuscita: oggetto cq.mobile.contextError con la proprietà di codice popolata

Supporta la raccolta

Il visualizzatore Runtime non ridimensiona l'immagine. Restituisce, invece, la dimensione immagine più vicina alla dimensione specificata.

Richiederà l'immagine di sfondo dai servizi on-demand se l'immagine non è memorizzata nella cache del dispositivo. Nella maggior parte dei casi, l'immagine resterà nella cache per l'immediato futuro.

Se viene tentata la chiamata sulle entità di tipo diverso da Raccolta, verrà chiamato il callback di errore.

getThumbnailImage
(width, height, success, error)

width: numero - la larghezza richiesta

height: numero - l'altezza richiesta

success: funzione - callback di riuscita

error: funzione - callback di errore

in caso di esito positivo: l'URL di un file all'immagine della miniatura come argomento del callback success

in caso di mancata riuscita: oggetto cq.mobile.contextError con la proprietà di codice popolata

Supporta articolo, banner, raccolta, banner dinamico

Il visualizzatore Runtime non ridimensiona l'immagine. Restituisce, invece, la dimensione immagine più vicina alla dimensione specificata.

Richiederà l'immagine di miniatura dai servizi on-demand se l'immagine non è memorizzata nella cache del dispositivo. Nella maggior parte dei casi, l'immagine resterà nella cache per l'immediato futuro.

 

getSocialSharingImage
(width, height, success, error)

width: numero - la larghezza richiesta

height: numero - l'altezza richiesta

success: funzione - callback di riuscita

error: funzione - callback di errore

in caso di esito positivo: l'URL di un file all'immagine di condivisione tramite social network come argomento del callback success

in caso di mancata riuscita: oggetto cq.mobile.contextError con la proprietà di codice popolata

Supporta l'articolo

Il visualizzatore Runtime non ridimensiona l'immagine. Restituisce, invece, la dimensione immagine più vicina alla dimensione specificata.

Richiederà l'immagine di condivisione tramite social network da servizi on-demand se l'immagine non è memorizzata nella cache del dispositivo. Nella maggior parte dei casi, l'immagine resterà nella cache per l'immediato futuro.

Se viene tentata la chiamata sulle entità di tipo diverso da Raccolta, verrà chiamato il callback di errore.

getChildren(success, error)

success:
funzione - callback di riuscita

error:
funzione - callback di errore

in caso di esito positivo: un oggetto EntityList

in caso di mancata riuscita: oggetto cq.mobile.contextError con la proprietà di codice popolata

Supporta la raccolta

EntityList conterrà tutte le entità figlio non limitate per questa raccolta che si trovano nella cache. Se non ne è presente nessuna, viene eseguito un tentativo di download della prima pagina del server dei figli.

getContentLocation(success, error)

success: funzione - callback di riuscita

error: funzione - callback di errore

in caso di esito positivo: restituisce oggetto ContentLocation

Supporta l'articolo

L'oggetto ContentLocation include pageNumber e totalPageCount.
pageNumber inizia da zero, per cui la prima pagina dell'articolo è 0. Questi valori indicano la posizione fisica del contenuto nell'articolo. Per gli articoli HTML, totalPageCount è 1 e pageNumber sarà 0.

Per ulteriori dettagli su queste proprietà dei metadati, consultate Integrazione di sistemi di terze parti con AEM Mobile.

Proprietà – EntityList

Nome Tipo Commenti
entities Matrice Elenco delle entità. Entità possibili: 'article', 'collection', ‘banner'.
hasNextPage Booleano Se 'true', nell'elenco sono presenti più entità. Utilizzate il metodo getNextPage() per recuperare la pagina successiva di entità dall'elenco.

Metodi

Nome Argomenti Risposta Supporto dell'entità Commenti
getNextPage
(success, error)

success:
funzione – callback di riuscita

error:
funzione – callback di errore

in caso di esito positivo: la proprietà entities conterrà elementi Entity aggiuntivi, e la proprietà hasNextPage verrà aggiornata

in caso di mancata riuscita: oggetto cq.mobile.contextError con la proprietà di codice popolata

Raccolta

Se quando hasNextPage è false viene chiamato getNextPage(), verrà restituito l'errore No More Entity Pages.

Le entità restituite non verranno limitate. Le informazioni limitate possono essere state cambiate dall'ultima chiamata di getNextPage(). In tal caso, verrà restituito l'errore Entity Page Out of Date. Sarà necessario chiamare getEntity() sulla raccolta per il pulling della raccolta aggiornata e chiamare getChildren() con questa raccolta aggiornata.

Proprietà - Context Error

L'oggetto cq.mobile.contextError è un oggetto di enumerazione, che definisce tutti i codici di errore supportati per i metodi context.

Nome Valore
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

 

Proprietà - Stato download

L'oggetto cq.mobile.downloadState è un oggetto di enumerazione che definisce tutti i codici di errore supportati per i metodi di download delle raccolte.

Nome Valore
cq.mobile.downloadState.NONE
0
cq.mobile.downloadState.DOWNLOAD_PAUSED
1
cq.mobile.downloadState.DOWNLOAD_ACTIVE
2
cq.mobile.downloadState.DOWNLOAD_COMPLETE
3

 

API Dispositivo

Il modulo del dispositivo fornisce il valore dal codice nativo. Notare che queste proprietà risiedono in uno spazio dei nomi diverso dal plug-in dispositivo Cordova (window.cq.mobile.device e non window.device).

Disponibilità

Le seguenti proprietà saranno aggiunte oltre ai plug-in dispositivo Cordova.

Proprietà – Dispositivo

Nome Tipo Volatile
Commenti
cq.mobile.device.class Stringa No Valori possibili: Phone, Tablet (Windows restituisce solo Tablet, poiché i telefoni non sono supportati)
cq.mobile.device.vendorId Stringa No Solo iOS (consultate IdentifierForVendor nella guida per gli sviluppatori di iOS)

API Applicazione

Disponibilità

Questo plug-in definisce l'oggetto cq.mobile.application globale. È disponibile esclusivamente dopo l'evento deviceready.

Proprietà – Applicazione

Nome Tipo Volatile Commenti
cq.mobile.application.id Stringa No esempio: com.adobe.create
cq.mobile.application.pushNotificationToken Stringa No Il token per le notifiche push per il dispositivo (il token dispositivo sul visualizzatore iOS, l'ID registrazione in Android, il visualizzatore Windows non ha implementato la notifica push, pertanto il valore sarà “undefined” fino ad allora)
cq.mobile.application.runtimeVersion Stringa No esempio: 2015.5.1
cq.mobile.application.version Stringa No Numero di versione dell'app, ad esempio, 1.0.4
cq.mobile.application.isAppSearchEnabled Booleano
Verificare se l'opzione Cerca è abilitata
cq.mobile.application.isSocialSharingEnabled Booleano Controllate se Condivisione social network è abilitata

API Utente

Disponibilità

Questo plug-in definisce l'oggetto cq.mobile.user globale. È disponibile esclusivamente dopo l'evento deviceready.

Eventi

Nome Commenti
isauthenticatedchanged L'evento viene attivato quando l'utente cambia lo stato dell'autenticazione. I client devono eseguire una query sullo stato più recente dell'oggetto utente.
authtokenchanged L'evento viene attivato quando i token di autenticazione utente cambiano. I client devono eseguire una query sullo stato più recente dell'oggetto utente.

Proprietà – Applicazione

Nome Tipo Volatile Commenti
cq.mobile.user.authToken Stringa  
cq.mobile.user.isAuthenticated Booleano  

Metodi

Nome Argomenti Risposta Commenti
setAuthToken(authToken, success, error)

authToken: stringa - il valore richiesto per authToken

success: funzione - callback di riuscita

error: funzione - callback di errore

in caso di esito positivo: chiama il callback di riuscita senza parametri

in caso di mancata riuscita: chiama il callback di errore con il codice cq.mobile.userError impostato

Questa chiamata verrà eseguita correttamente solo per i progetti per i quali è configurato un provider di identità generico o che dispongono di un provider di adesione diretto (nessun provider di identità). In caso contrario, quando questa API viene chiamata, restituirà un errore di supporto di autenticazione.

Se la chiamata setAuthToken non riesce per qualche motivo (viene restituito un codice 502, 503 o 504), il visualizzatore riproverà in teoria almeno una volta. Se il secondo tentativo non è eseguito o non riesce, verrà restituito un errore di rete.
Qualsiasi richiesta effettuata a questa API mentre è in corso una richiesta precedente, restituirà un errore per limite di banda di rete superato fino a quando una qualsiasi richiesta precedente restituisce un esito positivo o negativo.

L'undicesima richiesta inviata in un minuto a questa API restituirà un errore per limite di banda di rete superato, come qualsiasi altra richiesta dopo l'undicesima fino a quando non sarà trascorso un minuto dalla prima richiesta.

launchSignInUX(error) error: funzione - callback di errore in caso di mancata riuscita: chiama il callback di errore con il codice cq.mobile.userError impostato

Se l'autenticazione ha luogo tramite un server di adesione, viene visualizzata la finestra di dialogo di accesso nativa.

Se l'autenticazione ha luogo tramite un provider di identità, l'URL di autenticazione viene visualizzato in una visualizzazione Web su visualizzatori dispositivo o reindirizza all'URL di autenticazione su Desktop Web Viewer.

Se nel progetto non viene specificata alcuna autenticazione, la chiamata di questa API restituirà un errore Authentication Support.

Se l'utente è già autenticato, viene restituito un errore di stato di autenticazione non valido.

Se il visualizzatore Web non è in grado di recuperare le impostazioni di autenticazione, viene restituito un errore Network.

Gli utenti possono comunque disconnettersi dai visualizzatori dispositivo quando sono offline.

signOut(error) error: funzione - callback di errore in caso di mancata riuscita: chiama il callback di errore con il codice cq.mobile.userError impostato

Disconnette l'utente e aggiorna lo stato scollegato in modo da rifletterlo nell'interfaccia utente.

Se nel progetto non viene specificata alcuna autenticazione, la chiamata di questa API restituirà un errore Authentication Support.

Se l'utente è già autenticato, viene restituito un errore di stato di autenticazione non valido.

Se il visualizzatore Web non è in grado di disconnettersi, viene restituito un errore di rete.

Se non è possibile recuperare le impostazioni di autenticazione, i visualizzatori Web utilizzeranno le impostazioni di autenticazione contenute nella cache.

refreshSignIn(success, error)

success: funzione - callback di riuscita

error: funzione - callback di errore

in caso di esito positivo: chiama il callback di riuscita senza parametri

in caso di mancata riuscita: chiama il callback di errore con il codice cq.mobile.userError impostato

Utilizzate quest'API per tentare di aggiornare l'accesso dell'utente solo quando determinate che la sessione corrente non è più valida. Quest'API aggiornerà l'accesso solo in due scenari:

1) Il progetto viene configurato con un servizio di adesione ma senza autenticazione personalizzata. La chiamata di quest'API darà luogo a una nuova chiamata renewAuthToken sul servizio di adesione.

2) Il progetto è configurato con un provider di identità OAuth che fornisce un token aggiornato. La chiamata a questa API tenterà di utilizzare il token di aggiornamento per aggiornare la sessione di accesso.

In entrambi gli scenari, l'aggiornamento potrebbe avere esito negativo. In tal caso, si verificherà la disconnessione dell'utente.

In tutti gli altri scenari, incluso se quest'API viene chiamata su una configurazione progetto con SAML o un provider di identità OAuth che non supporta l'aggiornamento, l'aggiornamento avrà esito negativo, l'utente sarà disconnesso e si ritornerà alla pagina principale dell'utente.

Se nel progetto non viene specificata alcuna autenticazione, la chiamata di questa API restituirà un errore Authentication Support.

Se l'utente non è autenticato, viene restituito un errore di stato di autenticazione non valido.

Se i visualizzatori sono offline e non è possibile aggiornare l'accesso, viene restituito un errore di rete.

Se non è possibile recuperare le impostazioni di autenticazione, i visualizzatori Web utilizzeranno le impostazioni di autenticazione contenute nella cache.

Nota:

quando si verifica un errore imprevisto con una qualsiasi di queste chiamate API, nel callback di errore viene restituito un codice “UNKNOWN_ERROR”.

 

Proprietà – Errore utente

L'oggetto cq.mobile.userError è un oggetto di enumerazione che definisce tutti i codici di errore supportati per i metodi utente.

Nome Valore
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 di adesione

Disponibilità

Questo plug-in definisce oggetto l'oggetto di adesione globale, che fornisce metodi correlati all'adesione e all'acquisto. È disponibile esclusivamente dopo l'evento deviceready.

Proprietà - Offerta

Nome Tipo Commenti
productId Stringa L'ID prodotto/iscrizione che viene visualizzato nella sezione Prodotti e iscrizioni del portale.
etichetta Stringa Il nome prodotto/iscrizione che viene visualizzato nella sezione Prodotti e iscrizioni del portale. Sarà null se non impostato dall'utente.
descrizione Stringa La descrizione prodotto/iscrizione che viene visualizzata nella sezione Prodotti e iscrizioni del portale. Sarà null se non impostata dall'utente.
prezzo Stringa Il prezzo restituito dallo store corrispondente. Null se il prodotto è gratuito.
offerType Stringa Può essere "subscription" o "product."

Proprietà: info iscrizioni

Nome Tipo Commenti
subscriptionOffers Matrice Array di oggetti Offer. Vuota se l'utente dispone di un'iscrizione attiva.
subscriptionState Oggetto Oggetto subscriptionState.

Proprietà: stato iscrizione

Nome Tipo Commenti
isSubscriber
Booleano True se l'utente è stato iscritto in un qualsiasi momento. Si noti che subscriptionState.isSubscriber è identico a subscriptionState.store.isSubscriber e a subscriptionState.integrator.isSubscriber.
isActiveSubscriber
Booleano True se l'utente ha un'iscrizione attiva.
store Oggetto Oggetto Store che contiene lo stato dell'iscrizione a uno store di prodotti.
integratore Oggetto Oggetto Integrator che contiene lo stato di iscrizione all'integratore di adesione.

Proprietà - Store

Nome Tipo Commenti
isSubscriber
Booleano True se l'utente è stato iscritto in un qualsiasi momento.
isActiveSubscriber
Booleano True se l'utente ha un'iscrizione attiva.
expirationDate Numero Il timestamp in millisecondi dalla data di scadenza. Questo valore può essere null se l'iscrizione (dallo store o dall'integratore di adesione) non ha una data di scadenza.
subscriptionType Stringa Potrebbe essere "allAccess" o "standard". Valido solo se isSubscriber è true.
id Stringa ID prodotto del prodotto con iscrizione nello store.

Properties: integratore

Nome Tipo Commenti
isSubscriber
Booleano True se l'utente è stato iscritto in un qualsiasi momento.
isActiveSubscriber
Booleano True se l'utente ha un'iscrizione attiva.
expirationDate Numero Il timestamp in millisecondi dalla data di scadenza. Questo valore può essere null se l'iscrizione (dallo store o dall'integratore di adesione) non ha una data di scadenza.
customData Stringa La proprietà customData non sarà impostata se la proprietà di pari livello isSubscriber è false. Se la proprietà isSubscriber è true, può o non può essere impostata. La proprietà customData può essere restituita dall'integratore. È destinata a contenere i dati trasparenti ad Adobe e significativi unicamente per il cliente.

Metodi

Nome Argomenti Risposta Commenti
getSubscriptionInfo(success, error)

success: callback di riuscita

error: callback di errore

In caso di riuscita: oggetto SubscriptionInfo.

Questo metodo restituisce le info di iscrizione per la pubblicazione e il dispositivo correnti. Dopo 60 richieste di API eseguite nel periodo di un minuto, ogni richiesta successiva a questa API restituirà un errore finché non è trascorso un minuto dalla prima richiesta.

Desktop Web Viewer non supporta questa API e restituisce sempre un errore.

getOffers(collectionName, success, error)

collectionName: String: nome della raccolta

success: funzione - callback di riuscita

error: funzione - callback di errore

in caso di riuscita: array di oggetti Offer

in caso di mancata riuscita: un errore con la proprietà di codice popolata

collectionName deve corrispondere al nome trovato nel portale.

Se non è possibile trovare l'entità richiesta o se questa è limitata e non è visibile, viene restituito un messaggio di errore.

Le offerte memorizzate nella cache per l'entità richiesta vengono restituite se disponibili. Al contrario, una richiesta di rete a Servizio di adesione causerà il recupero delle offerte.

Dopo 60 richieste di rete eseguite a Servizio di adesione nel periodo di un minuto, ogni richiesta successiva a questa API restituirà un errore finché non è trascorso un minuto dalla prima richiesta.

Desktop Web Viewer non supporta questa API e restituisce sempre un errore.

purchaseOffer(productId, success, error)

productId: stringa - l'oggetto productId dell'offerta da acquistare

success: funzione - callback di riuscita

error: funzione - callback di errore

in caso di riuscita: viene avviata una richiesta di acquisto

in caso di mancata riuscita: chiama il codice di errore

Questo metodo avvia una richiesta di acquisto.
restorePurchases(successCallback, errorCallback)

success: funzione - callback di riuscita

error: funzione - callback di errore

in caso di riuscita: viene avviata una richiesta di ripristino

in caso di mancata riuscita: chiama il codice di errore

Questo metodo avvierà il ripristino degli acquisti precedenti per l'utente.

Dopo che sono state eseguite 5 richieste di API nel periodo di un minuto, ogni richiesta successiva a questa API restituirà un errore finché non è trascorso un minuto dalla prima richiesta.

Errori - Adesione

L'oggetto cq.mobile.entitlementError è un oggetto di enumerazione, che definisce tutti i codici supportati per i metodi di adesione.

Nome Valore
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 delle modifiche

16 marzo 2017

Sono state aggiunte informazioni sulle API per il download delle entità raccolte.

Sono state aggiunte informazioni sulle API per l'acquisto e l'adesione.

10 gennaio 2017

Aggiunta di cq.mobile.application.isAppSearchEnabled e di cq.mobile.application.isSocialSharingEnabled (vedere la sezione Applicazione)

9 agosto 2016

Aggiunta di getLocationContent (vedere la sezione Contesto)

30 giugno 2016

Aggiunta di setAuthToken (vedere la sezione Utente)

23 giugno 2016

Aggiunta la capacità di scorrere la struttura di raccolte di servizi on-demand:

  • Aggiornamento dei metadati dell'entità con supporto per i banner (consultate la scheda Context).
  • Aggiunto getEntity() alla richiesta per l'entità article/banner/collection entity (consultate la scheda Context).
  • Aggiunto getEntitlementInfo() alla richiesta delle informazioni di adesione per la raccolta (consultate la scheda Context).
  • Aggiunto getChildren() alla richiesta per l'elenco di entità figlio immediate per la raccolta (consultate la scheda Context).
  • Aggiunto getNextPage() alla richiesta della pagina successiva delle entità dall'elenco restituito da getChildren() (consultate la scheda Context).
  • Aggiunti gli oggetti di enumerazione per definire i codici di errore per i metodi utilizzati in cq.mobile.context e cq.mobile.user (consultate la scheda Context and User).

 

Questo prodotto è concesso in licenza in base alla licenza di Attribuzione-Non commerciale-Condividi allo stesso modo 3.0 Unported di Creative Commons.  I post su Twitter™ e Facebook non sono coperti dai termini di Creative Commons.

Note legali   |   Informativa sulla privacy online