ContextHub fornisce diversi esempi di store candidati che puoi utilizzare nelle soluzioni. Per ciascun campione vengono fornite le seguenti informazioni:
I candidati per l’archivio di esempi vengono forniti come configurazioni di riferimento per aiutarti a creare una configurazione dedicata per il progetto. Non utilizzarle direttamente.
Archivia 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 aem.segmentation estende ContextHub.Store.PersistedJSONPStore
.
Quando crei un archivio aem.segmentation, non devi fornire una configurazione dettagliata. La configurazione predefinita specifica la posizione delle definizioni dei segmenti ContextHub.
{
"service":{
"jsonp":false,
"timeout":1000,
"path":"/etc/segmentation/contexthub.segment.js"
}
}
Il candidato dell’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 dell’archivio contexthub.geolocation estende ContextHub.Store.PersistedJSONPStore
.
La configurazione predefinita specifica informazioni sul servizio Google e le coordinate iniziali di latitudine e longitudine.
{
"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 a quella del seguente esempio:
{
"latitude":"37.331375",
"longitude":"-121.893992"
}
Un criterio di sicurezza introdotto in Chrome 50.x richiede che tutte le chiamate relative alla geolocalizzazione vengano effettuate tramite una connessione protetta. Pertanto, l’AEM forza l’utilizzo di https per le chiamate API di geolocalizzazione se l’AEM è in esecuzione anche su https. Altrimenti http viene utilizzato per rispettare il criterio della stessa origine. Consulta questo post di blog su Google per ulteriori dettagli sulla modifica in Chrome.
Memorizza informazioni sull'ambiente client corrente, ad esempio dispositivo, finestra, browser, data e ora.
/libs/settings/cloudsettings/legacy/contexthub/surferinfo
Il candidato dell’archivio contexthub.datetime estende ContextHub.Store.PersistedStore
.
La configurazione predefinita viene ereditata da ContextHub.Store.PersistedStore
.
Gli archivi che utilizzano questo candidato hanno una struttura dati simile a quella del 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'archivio di esempio granite.emulators memorizza le informazioni sui dispositivi client.
/libs/settings/cloudsettings/legacy/contexthub/emulators
Il candidato dell’archivio contexthub.geolocation estende ContextHub.Store.PersistedStore
.
La configurazione predefinita include un array denominato defaultEmulators
che contiene informazioni su dispositivi diversi. Quando crei un archivio, fornisci diversi profili dispositivo nella proprietà Configurazione dettagli, 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 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 informazioni sull'utente corrente.
/libs/settings/cloudsettings/legacy/contexthub/profile
Il candidato dell’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"}
}
Gli archivi che utilizzano questo candidato hanno una struttura dati simile a quella del seguente esempio:
{
"displayName":"anonymous",
"path":"/home/users/6/6zavE_DGre6Ad9Y5E0Ba",
"avatar":"/etc/designs/default/images/social/avatar.png",
"authorizableId":"anonymous"
}