Candidati allo store ContextHub di esempio

ContextHub fornisce diversi esempi di candidati all'archivio che puoi utilizzare nelle tue soluzioni. Per ciascun campione sono fornite le seguenti informazioni:

  • Dove trovare il codice sorgente in modo da poterlo aprire a scopo di apprendimento.
  • Come configurare gli archivi creati dai candidati allo store.
  • Struttura dei dati dell’archivio in modo da potervi accedere.
AVVERTENZA

I candidati all’archivio di esempio vengono forniti come configurazioni di riferimento per facilitare la creazione di una configurazione dedicata per il progetto e non devono quindi essere utilizzati direttamente.

aem.segmentation Sample Store Candidato

Memorizzazione di segmenti ContextHub risolti e non risolti. Recupera automaticamente i segmenti da ContextHub SegmentManager.

Posizione origine

/libs/settings/cloudsettings/legacy/contexthub/segmentation

Implementazione di base

Il candidato all'archivio aem.segmentation si estende ContextHub.Store.PersistedJSONPStore.

Configurazione

Quando crei un aem.segmentation non è necessario 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"
   }
}

contexthub.geolocation Candidato all'archivio di esempio

La contexthub.geolocation sample store candidate utilizza Google Maps per ottenere e memorizzare informazioni sulla posizione del client.

Posizione origine

/libs/settings/cloudsettings/legacy/contexthub/geolocation

Implementazione di base

La contexthub.geolocation estensione del candidato al negozio ContextHub.Store.PersistedJSONPStore.

Configurazione

La configurazione predefinita specifica le informazioni sul servizio Google e le 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
        }
    }

Elementi dati

L'archivio utilizza una struttura dati simile all'esempio seguente:

{
   "latitude":"37.331375",
   "longitude":"-121.893992"
}
NOTA

Una policy 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 anche AEM è in esecuzione su https. In caso contrario, http viene utilizzato per rispettare i criteri della stessa origine.

Vedi questo post del blog Google per ulteriori dettagli sulla modifica in Chrome.

contexthub.surferinfo Candidato all'archivio di esempio

Memorizza informazioni sull'ambiente client corrente, ad esempio il dispositivo, la finestra, il browser, la data e l'ora.

Posizione origine

/libs/settings/cloudsettings/legacy/contexthub/surferinfo

Implementazione di base

La contexthub.surferinfo estensione del candidato al negozio ContextHub.Store.PersistedStore.

Configurazione

La configurazione predefinita viene ereditata da ContextHub.Store.PersistedStore.

Elementi dati

I negozi che utilizzano questo candidato all'archivio hanno una struttura dati simile all'esempio seguente:

{
   "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
}

granite.emulators Candidato all'archivio di esempio

La granite.emulators sample store candidate memorizza informazioni sui dispositivi client.

Posizione origine

/libs/settings/cloudsettings/legacy/contexthub/emulators

Implementazione di base

La granite.emulators estensione del candidato al negozio ContextHub.Store.PersistedStore.

Configurazione

La configurazione predefinita include un array denominato defaultEmulators che contiene informazioni su dispositivi diversi. Quando crei un archivio, fornisci 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
        }
    ]
}

Elementi dati

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
   }
}

granite.profile Sample Store Candidate

Memorizza informazioni sull'utente corrente.

Posizione origine

/libs/settings/cloudsettings/legacy/contexthub/profile

Implementazione di base

La granite.profile estensione del candidato al negozio ContextHub.Store.PersistedJSONPStore.

Configurazione

Viene utilizzata la seguente configurazione predefinita. Non devi modificare questa configurazione.

{
   "service":{
      "jsonp":false,
      "timeout":1000,
      "path":"${contexthub:/store/profile/path}.infinity.json"
   },
   "initialValues":{"path":"/home/users/a/anonymous"}
}

Elementi dati

I negozi che utilizzano questo candidato all'archivio hanno una struttura dati simile all'esempio seguente:

{
   "displayName":"anonymous",
   "path":"/home/users/6/6zavE_DGre6Ad9Y5E0Ba",
   "avatar":"/etc/designs/default/images/social/avatar.png",
   "authorizableId":"anonymous"
}

In questa pagina