Vous consultez actuellement l'aide de la version:

ContextHub fournit plusieurs exemples de magasins candidats que vous pouvez utiliser dans vos solutions. Les informations suivantes sont fournies pour chaque exemple :

  • L’emplacement du code source pour pouvoir l’ouvrir à des fins de formation.
  • La configuration des magasins créés à partir des magasins candidats.
  • La structure des données de magasin pour pouvoir y accéder.

Exemple de magasin candidat aem.segmentation

Magasin pour les segments ContextHub résolus et non résolus. Récupère automatiquement les segments de SegmentManager ContextHub.

Emplacement du code source

/libs/cq/contexthub/components/stores/segmentation

Implémentation de base

Le magasin candidat aem.segmentation étend ContextHub.Store.PersistedJSONPStore.

Configuration

Lorsque vous créez un magasin aem.segmentation, vous n’avez pas besoin de fournir une configuration détaillée. La configuration par défaut spécifie l’emplacement des définitions de segment ContextHub.

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

Exemple de magasin candidat aem.resolvedsegments

Stocke les segments actuellement résolus. Écoute le service ContextHub SegmentManager pour mettre à jour automatiquement le magasin.

Emplacement du code source

/libs/cq/contexthub/components/stores/resolvedsegments

Implémentation de base

Le magasin candidat aem.resolvedsegments étend ContextHub.Store.SessionStore.

Configuration

La configuration par défaut est héritée de ContextHub.Store.SessionStore.

Arbre de données

Les magasins qui utilisent ce magasin candidat ont un arbre de données similaire à l’exemple suivant :

{
   "segments":[],
   "summary":"No segment"
}

Exemple de magasin candidat contexthub.datetime

Stocke les informations de date et heure actuelles du client.

Emplacement du code source

/libs/granite/contexthub/components/stores/datetime

Implémentation de base

Le magasin candidat contexthub.datetime étend ContextHub.Store.PersistedStore.

Configuration

La configuration par défaut est héritée de ContextHub.Store.PersistedStore.

Arbre de données

Les magasins qui utilisent ce magasin candidat ont un arbre de données similaire à l’exemple suivant :

{
   "date":{
      "year":2015,
      "month":7,
      "day":22
   },
   "time":{
      "hours":11,
      "minutes":52,
      "seconds":28,
      "milliseconds":27,
      "timezoneOffset":240
   },
   "formatted":{
      "utc":{
         "date":{
            "year":2015,
            "month":6,
            "day":3
         },
         "time":{
            "hours":15,
            "minutes":52,
            "seconds":28,
            "milliseconds":29
         }
      },
      "iso":"2015-07-22T15:52:28Z",
      "locale":{
         "date":"7/22/2015",
         "time":"11:52:28 AM"
      }
   },
   "season":"Spring"
}

Exemple de magasin candidat contexthub.generic-jsonp

Stocke les données d’un service JSONP. Pour voir un exemple de configuration de magasin pour ce magasin candidat, se reporter à Création d’un magasin context_ub.generic-jsonp.

Emplacement du code source

/libs/granite/contexthub/components/stores/generic-jsonp

Implémentation de base

Le magasin candidat contexthub.datetime étend ContextHub.Store.PersistedJSONPStore.

Configuration

Lorsque vous créez un magasin basé sur ce magasin candidat, vous devez fournir un objet de service qui contient des détails sur le service JSONP à appeler. Le code JSON suivant illustre le format requis à utiliser pour l’objet de service :

{ 
   "service": { 
      "jsonp": false, 
      "timeout": 1000, 
      "ttl": 1800000, 
      "secure": false, 
      "host": "md5.jsontest.com", 
      "port": 80, 
      "params":{ 
         "text":"text to md5" 
      } 
   } 
}

Arbre de données

Les données renvoyées par le service JSONP déterminent l’arborescence de données du magasin. 

Exemple de magasin candidat contexthub.geolocation

Le magasin candidat de modèles contexthub.geolocation utilise Google Maps pour obtenir et stocker des informations sur l’emplacement du client. 

Emplacement du code source

/libs/granite/contexthub/components/stores/geolocation

Implémentation de base

Le magasin candidat contexthub.geolocation étend ContextHub.Store.PersistedJSONPStore.

Configuration

La configuration par défaut spécifie des informations sur le service Google et les coordonnées de latitude et de longitude initiales.

{
        "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éments de données

Le magasin utilise une arborescence de données similaire à l’exemple suivant :

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

Remarque :

Une stratégie de sécurité introduite dans Chrome 50.x requiert que tous les appels liés à la géolocalisation soient effectués via une connexion sécurisée. Par conséquent, AEM force l’utilisation de https pour les appels d’API de géolocalisation si AEM s’exécute également sur https. Sinon, http est utilisé afin de respecter la politique de même origine. Voir cet article de blog Google pour plus de détails sur les changements dans Chrome.

Exemple de magasin candidat contexthub.surferinfo

Stocke des informations sur l’environnement client actuel, telles que l’appareil, la fenêtre, le navigateur, la date et l’heure.

Emplacement du code source

/libs/granite/contexthub/components/stores/profile

Implémentation de base

Le magasin candidat contexthub.datetime étend ontextHub.Store.PersistedStore.

Configuration

La configuration par défaut est héritée de ContextHub.Store.PersistedStore.

Arbre de données

Les magasins qui utilisent ce magasin candidat ont un arbre de données similaire à l’exemple suivant :

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

Exemple de magasin de données contexthub.tagcloud

L’exemple de magasin candidat granite.tagcloud stocke des informations sur l’utilisation des balises. En option, le magasin peut ajouter automatiquement des balises à partir d’éléments HTML nommés.

Emplacement du code source

/libs/granite/contexthub/components/stores/tagcloud

Implémentation de base

Le magasin candidat contexthub.geolocation étend ContextHub.Store.PersistedStore.

Configuration

Configurez les magasins basés sur ce magasin candidat en utilisant un objet qui contient les éléments suivants :

  • parseMeta : (booléen). Indique si les balises doivent être ajoutées à partir des éléments HTML meta présents dans la page.
  • metaName : (chaîne). Si parseMeta est true, la valeur de l’attribut name de l’élément meta qui contient les balises.
  • tags [] : (chaîne). Tables de balises à ajouter au magasin.

Fournissez différents profils d’appareil dans la configuration détaillée, si nécessaire. La configuration suivante est la configuration par défaut :

{
   "parseMeta":true,
   "metaName":"ch.tagcloud",
   "tags":[]
}

Arbre de données

Les magasins qui utilisent ce magasin candidat ont un arbre de données similaire à l’exemple suivant : Le magasin contient les balises tag1 et tag2.

{
   "default":{
      "tag1":{
         ".count":1
      },
      ".recentAdded":{
         "name":"default:tag2",
         "count":1
      },
      "tag2":{
         ".count":1
      }
   },
   ".recentAdded":{
      "name":"default:tag2",
      "count":1
   }
}

Exemple de magasin candidat granite.emulators

L’exemple de magasin candidat granite.emulators stocke des informations sur les appareils clients. 

Emplacement du code source

/libs/granite/contexthub/components/stores/emulators

Implémentation de base

Le magasin candidat contexthub.geolocation étend ContextHub.Store.PersistedStore.

Configuration

La configuration par défaut inclut une table nommée defaultEmulators qui contient des informations sur différents appareils. Lorsque vous créez un magasin, fournissez des profils d’appareil différents dans la propriété Configuration détaillée selon les besoins, en respectant le format illustré dans l’exemple suivant :

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

Éléments de données

L’arborescence de données de magasin est similaire à l’exemple suivant :

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

Exemple de magasin candidat granite.profile

Stocke des informations sur l’utilisateur actuel.

Emplacement du code source

/libs/granite/contexthub/components/stores/profile

Implémentation de base

Le magasin candidat contexthub.datetime étend ContextHub.Store.PersistedJSONPStore.

Configuration

La configuration par défaut suivante est utilisée. Vous ne devriez pas changer cette configuration.

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

Arbre de données

Les magasins qui utilisent ce magasin candidat ont un arbre de données similaire à l’exemple suivant :

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

Ce produit est distribué sous licence Creative Commons Attribution - Pas d’utilisation commerciale - Partage à l’identique 3.0 non transposé  Les publications Twitter™ et Facebook ne sont pas couvertes par les dispositions Creative Commons.

Mentions légales   |   Politique de confidentialité en ligne