Voeg ContextHub aan uw pagina's toe om de eigenschappen ContextHub toe te laten en aan de bibliotheken te verbinden JavaScript van ContextHub
De JavaScript-API van ContextHub biedt toegang tot de contextgegevens die door ContextHub worden beheerd. In deze pagina worden kort de belangrijkste functies van de API beschreven voor het benaderen en bewerken van contextgegevens. Volg de koppelingen naar de API-naslagdocumentatie voor gedetailleerde informatie en codevoorbeelden.
Om de eigenschappen ContextHub toe te laten en aan de bibliotheken te verbinden ContextHub Javascript, omvat de component contexthub in de head
sectie van uw pagina. De JSP-code voor uw paginacomponent lijkt op het volgende voorbeeld:
<head>
<sling:include path="contexthub" resourceType="granite/contexthub/components/contexthub" />
</head>
Merk op dat u ook moet vormen of de toolbar ContextHub op de wijze van de Voorproef verschijnt. Zie Het tonen van en het Hiding van ContextHub UI.
De opslag van ContextHub van het gebruik om contextgegevens voort te zetten. ContextHub verstrekt de volgende types van opslag die de basis van alle opslagtypes vormen:
Alle opslagtypes zijn uitbreidingen van de ContextHub.Store.Core
klasse. Zie Aangepaste winkels maken voor informatie over het maken van een nieuw winkeltype. Voor informatie over de types van steekproefopslag, zie Sample ContextHub Store Candidates.
De opslag van de Hub van de context gebruikt één van de volgende persistentiemodi:
Door gebrek, gebruikt de Hub van de Context de Lokale persistentiemodus. Als de browser geen ondersteuning biedt voor lokale HTML5-opslag of deze toestaat, wordt de sessiepersistentie gebruikt. Als de browser HTML5 sessionStorage niet ondersteunt of toestaat, wordt de persistentie Window.name gebruikt.
Intern vormen opslaggegevens een boomstructuur, waardoor waarden kunnen worden toegevoegd als primaire typen of complexe objecten. Wanneer u complexe objecten toevoegt aan opslagruimten, vormen de objecteigenschappen vertakkingen in de gegevensstructuur. Het volgende complexe object wordt bijvoorbeeld toegevoegd aan een lege opslaglocatie met de naam location:
Object {
number: 321,
data: {
city: "Basel",
country: "Switzerland",
details: {
population: 173330,
elevation: 260
}
}
}
De boomstructuur van de opslaggegevens kan als volgt worden geconceptualiseerd:
/
|- number
|- data
|- city
|- country
|- details
|- population
|- elevation
De boomstructuur bepaalt gegevenspunten in de opslag als sleutel/waardeparen. In het bovenstaande voorbeeld komt de sleutel /number
overeen met de waarde 321
en de sleutel /data/country
komt overeen met de waarde Switzerland
.
ContextHub verstrekt de ContextHub.Utils.JSON.tree
klasse voor het manipuleren van voorwerpen Javascript. Gebruik de functies van deze klasse voor het manipuleren van voorwerpen Javascript alvorens u hen aan een opslag toevoegt, of nadat u hen van een opslag verkrijgt.
Daarnaast biedt de klasse ContextHub.Utils.JSON
functies voor het serieel ordenen van objecten met tekenreeksen en het ongedaan maken van tekenreeksen met objecten. Gebruik deze klasse voor het verwerken van JSON-gegevens om browsers te ondersteunen die de functies JSON.parse
en JSON.stringify
niet native bevatten.
Gebruik het Javascript-object ContextHub
om een winkel als een JavaScript-object op te halen. Nadat u het opslagobject hebt verkregen, kunt u de gegevens in het object bewerken. Gebruik getAllStores
of getStore
functie om de opslag te verkrijgen.
De Javascript-klasse ContexHub.Store.Core
definieert verschillende functies voor interactie met opslaggegevens. Met de volgende functies worden meerdere gegevensitems in objecten opgeslagen en opgehaald:
Afzonderlijke gegevensitems worden opgeslagen als een set sleutel-/waardeparen. Als u waarden wilt opslaan en ophalen, geeft u de bijbehorende sleutel op:
Merk op dat de kandidaten van de douaneopslag extra functies kunnen bepalen die toegang verlenen om gegevens op te slaan.
ContextHub is niet door gebrek zich bewust van momenteel het programma geopend op publiceer servers en dergelijke gebruikers worden beschouwd door ContextHub als "Anoniem."
U kunt ContextHub van het programma geopende gebruikers bewust maken door de profielopslag te laden zoals die in Wij.Retail verwijzingsplaats wordt uitgevoerd. Verwijs naar relevante code op GitHub hier.
ContextHub omvat een gebeurteniskader dat u toelaat om automatisch te reageren om gebeurtenissen op te slaan. Elk opslagvoorwerp bevat een ContextHub.Utils.Eventing
voorwerp dat als eventing
bezit van de opslag beschikbaar is. Gebruik de functie on
of once
om een functie JavaScript aan een archiefgebeurtenis te binden.
De JavaScript-API van de Context Hub biedt ondersteuning voor verschillende browsers voor de verwerking van browsercookies. De naamruimte ContextHub.Utils.Cookie
definieert verschillende functies voor het maken, bewerken en verwijderen van cookies.
De ContextHub segmentmotor laat u toe om te bepalen welke van de geregistreerde segmenten in de huidige context worden opgelost. Gebruik de functie getResolvedSegments van de klasse ContextHub.SegmentEngine.SegmentManager
om opgeloste segmenten terug te winnen. Vervolgens gebruikt u de functie getName
of getPath
van de klasse ContextHub.SegmentEngine.Segment
om te testen op een segment.
De segmenten van ContextHub worden geïnstalleerd onder de /conf/we-retail/settings/wcm/segments
knoop.
De regels die worden gebruikt om deze segmenten op te lossen zijn als volgt samengevat:
Vrouwen of mannen worden bepaald aan de hand van het gender
-gegevensitem van de profile-winkel.
De leeftijd wordt bepaald van het leeftijdsgegevensitem van het profielarchief.
Het seizoen wordt bepaald aan de hand van het gegevensitem op de breedtegraad van de geolocatie-opslag en het maandgegevensitem van de surferinfo-opslag.
De geïnstalleerde segmenten worden verstrekt als verwijzingsconfiguraties om u te helpen uw eigen specifieke configuratie voor uw project bouwen en als zodanig niet direct zouden moeten worden gebruikt.
Vorm de dienst van ContextHub OSGi van Adobe Granite (PID = com.adobe.granite.contexthub.impl.ContextHubImpl
) om gedetailleerde Debug berichten te registreren die wanneer het ontwikkelen nuttig zijn.
U kunt de service configureren met de webconsole of met een JCR-knooppunt in de opslagruimte:
com.adobe.granite.contexthub.debug
in op true
.ContextHub verstrekt een diagnostische pagina waar u een overzicht van het kader ContextHub kunt zien.