Exempel på ContextHub Store-kandidater

ContextHub innehåller flera exempel på lämpliga lagringskanaler som du kan använda i dina lösningar. Följande information tillhandahålls för varje prov:

  • Var du hittar källkoden så att du kan öppna den i utbildningssyfte.
  • Så här konfigurerar du de butiker du skapar från butikskandidaterna.
  • Hur lagringsdata är strukturerade så att du kan komma åt dem.
VARNING

Exempelbutikskandidaterna tillhandahålls som referenskonfigurationer som hjälper dig att skapa en egen dedikerad konfiguration för ditt projekt och bör därför inte användas direkt.

aem.segmentation Sample Store Candidate

Lagra för lösta och olösta ContextHub-segment. Hämtar automatiskt segment från ContextHub SegmentManager.

Källplats

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

Basimplementering

Affärskandidaten aem.segmentation utökar ContextHub.Store.PersistedJSONPStore.

Konfiguration

När du skapar en aem.segmentation butik behöver du inte ange någon detaljerad konfiguration. Standardkonfigurationen anger platsen för ContextHub-segmentdefinitionerna.

{
   "service":{
      "jsonp":false,
      "timeout":1000,
      "path":"/etc/segmentation/contexthub.segment.js"
   }
}

contexthub.geolocation Sample Store Candidate

The contexthub.geolocation Exempelbutikskandidaten använder Google Maps för att hämta och lagra information om klientens plats.

Källplats

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

Basimplementering

The contexthub.geolocation butikskandidattillägg ContextHub.Store.PersistedJSONPStore.

Konfiguration

Standardkonfigurationen anger information om Google-tjänsten och de inledande latitud- och longitudkoordinaterna.

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

Dataobjekt

I butiken används ett dataträd som liknar följande exempel:

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

En säkerhetsprincip som introducerades i Chrome 50.x kräver att alla geopositioneringsrelaterade anrop görs via en skyddad anslutning. AEM tvingar därför även https-användning för API-anrop för geopositionering om AEM körs över https. Annars används http för att följa principen för samma ursprung.

Se det här Google-blogginlägget för mer information om förändringen i Chrome.

contexthub.surferinfo Sample Store Candidate

Lagrar information om den aktuella klientmiljön, t.ex. enhet, fönster, webbläsare, datum och tid.

Källplats

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

Basimplementering

The contexthub.surferinfo butikskandidattillägg ContextHub.Store.PersistedStore.

Konfiguration

Standardkonfigurationen ärvs från ContextHub.Store.PersistedStore.

Dataobjekt

Lager som använder den här butikskandidaten har ett dataträd som liknar följande exempel:

{
   "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 Sample Store Candidate

The granite.emulators Exempelarkivets kandidatlager lagrar information om klientenheter.

Källplats

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

Basimplementering

The granite.emulators butikskandidattillägg ContextHub.Store.PersistedStore.

Konfiguration

Standardkonfigurationen innehåller en array med namnet defaultEmulators som innehåller information om olika enheter. När du skapar en butik kan du ange olika enhetsprofiler i egenskapen Detaljkonfiguration efter behov, med det format som visas i följande exempel:

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

Dataobjekt

Lagringsdataträdet liknar följande exempel:

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

Lagrar information om den aktuella användaren.

Källplats

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

Basimplementering

The granite.profile butikskandidattillägg ContextHub.Store.PersistedJSONPStore.

Konfiguration

Följande standardkonfiguration används. Du bör inte ändra den här konfigurationen.

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

Dataobjekt

Lager som använder den här butikskandidaten har ett dataträd som liknar följande exempel:

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

På denna sida