ContextHub bietet mehrere Beispiele für Store-Kandidaten, die Sie in Ihren Lösungen verwenden können. Die folgenden Informationen werden für jedes Beispiel bereitgestellt:
Die Beispiele für Store-Kandidaten werden als Referenzkonfigurationen bereitgestellt, um Ihnen bei der Einrichtung einer eigenen dedizierten Konfiguration für Ihr Projekt zu helfen, und sollten daher nicht direkt verwendet werden.
Store für gelöste und ungelöste ContextHub-Segmente. Ruft automatisch Segmente aus dem ContextHub SegmentManager zurück.
/libs/settings/cloudsettings/legacy/contexthub/segmentation
ContextHub.Store.PersistedJSONPStore
Der Store-Kandidat aem.segmentations erweitert.
Wenn Sie einen aem.segmentation-Store erstellen, ist es nicht erforderlich, eine detaillierte Konfiguration zur Verfügung zu stellen. Die Standardkonfiguration gibt den Speicherort der ContextHub-Segmentdefinitionen an.
{
"service":{
"jsonp":false,
"timeout":1000,
"path":"/etc/segmentation/contexthub.segment.js"
}
}
Der Beispiel-Store-Kandidat „contexthub.geolocation“ verwendet Google Maps zum Abrufen und Speichern von Informationen zum Clientstandort.
/libs/settings/cloudsettings/legacy/contexthub/geolocation
Der Store-Kandidat „contexthub.geolocation“ erweitert ContextHub.Store.PersistedJSONPStore
.
Die Standardkonfiguration enthält Informationen zum Google-Service und die anfänglichen Längen- und Breitenkoordinaten.
{
"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
}
}
Der Store verwendet einen Datenbaum, der dem folgenden Beispiel ähnelt:
{
"latitude":"37.331375",
"longitude":"-121.893992"
}
Eine in Chrome 50.x eingeführte Sicherheitsrichtlinie erfordert, dass alle Geolocation-bezogenen Anrufe über eine gesicherte Verbindung erfolgen. Daher erzwingt AEM die Verwendung von https für Geolocation-API-Aufrufe, wenn AEM auch über https ausgeführt wird. Andernfalls wird http verwendet, um der Richtlinie gleichen Ursprungs zu entsprechen. In diesem Google-Blogpost erhalten Sie weitere Informationen zu den Änderungen in Chrome.
Speichert Informationen über die aktuelle Client-Umgebung wie Gerät, Fenster, Browser, Datum und Uhrzeit.
/libs/settings/cloudsettings/legacy/contexthub/surferinfo
Der Store-Kandidat „contexthub.datetime“ erweitert ContextHub.Store.PersistedStore
.
Die Standardkonfiguration wird von ContextHub.Store.PersistedStore
übernommen.
Stores, die diesen Store-Kandidaten verwenden, haben eine Datenstruktur, die dem folgenden Beispiel ähnelt:
{
"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
}
Der Beispiel-Store-Kandidat „granite.emulators“ speichert Informationen über Kundengeräte.
/libs/settings/cloudsettings/legacy/contexthub/emulators
Der Store-Kandidat „contexthub.geolocation“ erweitert ContextHub.Store.PersistedStore
.
Die Standardkonfiguration enthält ein Array namens defaultEmulators
, das Informationen über verschiedene Geräte enthält. Wenn Sie einen Store erstellen, stellen Sie verschiedene Geräteprofile nach Bedarf in der Detailkonfigurationseigenschaft mithilfe des Formats bereit, das im folgenden Beispiel veranschaulicht wird:
{
"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
}
]
}
Der Store-Datenbaum ähnelt dem folgenden Beispiel:
{
"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
}
}
Informationen über den aktuellen Benutzer.
/libs/settings/cloudsettings/legacy/contexthub/profile
Der Store-Kandidat „contexthub.datetime“ erweitert ContextHub.Store.PersistedJSONPStore
.
Die folgende Standardkonfiguration wird verwendet. Sie sollten diese Konfiguration nicht ändern.
{
"service":{
"jsonp":false,
"timeout":1000,
"path":"${contexthub:/store/profile/path}.infinity.json"
},
"initialValues":{"path":"/home/users/a/anonymous"}
}
Stores, die diesen Store-Kandidaten verwenden, haben eine Datenstruktur, die dem folgenden Beispiel ähnelt:
{
"displayName":"anonymous",
"path":"/home/users/6/6zavE_DGre6Ad9Y5E0Ba",
"avatar":"/etc/designs/default/images/social/avatar.png",
"authorizableId":"anonymous"
}