ContextHub offre diversi esempi di candidati store che potete utilizzare nelle soluzioni. Per ciascun campione vengono fornite le seguenti informazioni:
I candidati allo store di esempio vengono forniti come configurazioni di riferimento per facilitare la creazione di una propria configurazione dedicata per il progetto e pertanto non devono essere utilizzati direttamente.
Memorizzazione per segmenti ContextHub risolti e non risolti. Recupera automaticamente i segmenti da ContextHub SegmentManager.
/libs/settings/cloudsettings/legacy/contexthub/segmentation
Il candidato per l'archivio di segmentazione aem.segmentation estende ContextHub.Store.PersistedJSONPStore
.
Quando create uno store aem.segmentation, non è necessario fornire una configurazione dettagliata. La configurazione predefinita specifica la posizione delle definizioni del segmento ContextHub.
{
"service":{
"jsonp":false,
"timeout":1000,
"path":"/etc/segmentation/contexthub.segment.js"
}
}
Il candidato per l'archivio di esempio contexthub.geolocation utilizza Google Maps per ottenere e archiviare informazioni sulla posizione del client.
/libs/settings/cloudsettings/legacy/contexthub/geolocation
Il candidato per l'archivio contexthub.geolocation estende ContextHub.Store.PersistedJSONPStore
.
La configurazione predefinita specifica informazioni sul servizio Google e sulle coordinate di latitudine e longitudine iniziali.
{
"service": {
"jsonp": false,
"timeout": 1000,
"ttl": 1800000,
"secure": false,
"host": "maps.googleapis.com",
"port": 80,
"path": "/maps/api/geocode/json"
},
"eventDeferring": 16,
"html5coordinatesDiscoveryAPI": {
"timeout": 30000,
"ttl": 900000,
"highAccuracy": false
},
"initialValues": {
"latitude": 37.331375,
"longitude": -121.893992
}
}
L'archivio utilizza una struttura dati simile all'esempio seguente:
{
"latitude":"37.331375",
"longitude":"-121.893992"
}
Una politica di sicurezza introdotta in Chrome 50.x richiede che tutte le chiamate relative alla geolocalizzazione siano effettuate su una connessione protetta. Pertanto, AEM forza l'utilizzo https per le chiamate API di geolocalizzazione se AEM è in esecuzione anche su https. In caso contrario, http viene utilizzato per rispettare i criteri della stessa origine. Per ulteriori informazioni sulla modifica in Chrome, consultate questo post di Google blog.
Memorizza informazioni sull'ambiente client corrente, ad esempio il dispositivo, la finestra, il browser, la data e l'ora.
/libs/settings/cloudsettings/legacy/contexthub/surferinfo
Il candidato per l'archivio contexthub.datetime estende ContextHub.Store.PersistedStore
.
La configurazione predefinita viene ereditata da ContextHub.Store.PersistedStore
.
I negozi che utilizzano il candidato all'archiviazione dispongono di una struttura dati simile al seguente esempio:
{
"display":{
"resolution":{
"width":1440,
"height":900
},
"devicePixelRatio":1,
"colorDepth":24,
"nrOfColors":16777216,
"pixelsPerInch":96,
"orientation":{
"mode":"landscape",
"direction":"normal"
}
},
"window":{
"dimension":{
"width":1395,
"height":652
},
"percentageUsage":0.7
},
"browser":{
"version":"39.0",
"family":"Firefox",
"userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:39.0) Gecko/20100101 Firefox/39.0"
},
"device":{
"category":"Desktop",
"type":"Desktop",
"model":"PC",
"version":""
},
"isMobile":true,
"os":{
"name":"Mac OS X",
"version":"10"
},
"year":2015,
"month":7,
"day":22,
"hour":14,
"minutes":1
}
L'esempio granite.emulators store candidate memorizza informazioni sui dispositivi client.
/libs/settings/cloudsettings/legacy/contexthub/emulators
Il candidato per l'archivio contexthub.geolocation estende ContextHub.Store.PersistedStore
.
La configurazione predefinita include una matrice denominata defaultEmulators
che contiene informazioni sui diversi dispositivi. Quando create uno store, fornite profili dispositivo diversi nella proprietà Configurazione dettagli come necessario, utilizzando il formato illustrato nell'esempio seguente:
{
"defaultEmulators":[
{
"id": "iphone-6",
"title": "iPhone 6",
"type": "mobile",
"platform": "iOS",
"platformVersion": "8.1.3",
"width": 750,
"height": 1334,
"canRotate": true,
"orientation": "Portrait",
"device-pixel-ratio": 2
},
{
"id": "iphone-6-plus",
"title": "iPhone 6 Plus",
"type": "mobile",
"platform": "iOS",
"platformVersion": "8.1.3",
"width": 1080,
"height": 1920,
"canRotate": true,
"orientation": "Portrait",
"device-pixel-ratio": 3
},
{
"id": "galaxy-s4",
"title": "Samsung Galaxy S4",
"type": "mobile",
"platform": "Android",
"platformVersion": "4.4.2 KitKat",
"width": 1080,
"height": 1920,
"canRotate": true,
"orientation": "Portrait",
"device-pixel-ratio": 3
}
]
}
La struttura ad albero dei dati dell'archivio è simile all'esempio seguente:
{
"devices":[
{"id":"native",
"title":"Native",
"type":"screen",
"width":1395,
"height":374,
"orientation":"Landscape",
"platform":"Mac OS X",
"platformVersion":"10",
"canRotate":false
},
{"id":"ipad-3",
"title":"iPad 3 / 4 / Air",
"type":"tablet",
"platform":"iOS",
"platformVersion":"8.1.3",
"width":1536,
"height":2048,
"canRotate":true,
"orientation":"Portrait",
"device-pixel-ratio":2
},
{"id":"iphone-6",
"title":"iPhone 6",
"type":"mobile",
"platform":"iOS",
"platformVersion":"8.1.3",
"width":750,
"height":1334,
"canRotate":true,
"orientation":"Portrait",
"device-pixel-ratio":2
},
{"id":"galaxy-s4",
"title":"Samsung Galaxy S4",
"type":"mobile",
"platform":"Android",
"platformVersion":"4.4.2 KitKat",
"width":1080,
"height":1920,
"canRotate":true,
"orientation":"Portrait",
"device-pixel-ratio":3
}
],
"currentDeviceId":"native",
"orientations":[
{"id":"landscape",
"title":"Landscape"
},
{"id":"portrait",
"title":"Portrait"
}
],
"currentDevice":{
"id":"native",
"title":"Native",
"type":"screen",
"width":1395,
"height":374,
"orientation":"Landscape",
"platform":"Mac OS X",
"platformVersion":"10",
"canRotate":false
}
}
Memorizza le informazioni sull'utente corrente.
/libs/settings/cloudsettings/legacy/contexthub/profile
Il candidato per l'archivio contexthub.datetime estende ContextHub.Store.PersistedJSONPStore
.
Viene utilizzata la seguente configurazione predefinita. Non modificare questa configurazione.
{
"service":{
"jsonp":false,
"timeout":1000,
"path":"${contexthub:/store/profile/path}.infinity.json"
},
"initialValues":{"path":"/home/users/a/anonymous"}
}
I negozi che utilizzano il candidato all'archiviazione dispongono di una struttura dati simile al seguente esempio:
{
"displayName":"anonymous",
"path":"/home/users/6/6zavE_DGre6Ad9Y5E0Ba",
"avatar":"/etc/designs/default/images/social/avatar.png",
"authorizableId":"anonymous"
}