現在表示中:

ContextHub には、ソリューションで利用できるサンプルストア候補がいくつか用意されています。各サンプルでは次の情報が提供されます。

  • 学習用に参照できるソースコードの場所。
  • ストア候補から作成するストアの設定方法。
  • アクセスするためのストアデータの構造。

aem.segmentation サンプルストア候補

解決済みおよび未解決の ContextHub セグメント用のストア。ContextHub SegmentManager からセグメントを自動的に取得します。

ソースの場所

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

ベースとなる実装

aem.segmentation ストア候補は、ContextHub.Store.PersistedJSONPStore を拡張したものです。

設定

aem.segmentation ストアを作成する場合、詳細な設定をする必要はありません。デフォルトの設定によって、ContextHub セグメント定義の場所が指定されます。

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

aem.resolvedsegments サンプルストア候補

現在解決済みのセグメントを格納します。ContextHub SegmentManager サービスをリッスンして、ストアを自動的に更新します。

ソースの場所

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

ベースとなる実装

aem.resolvedsegments ストア候補は、ContextHub.Store.SessionStore を拡張したものです。

設定

デフォルトの設定は、ContextHub.Store.SessionStore から継承されます。

データツリー

このストア候補を使用するストアのデータツリーは次の例のようになります。

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

contexthub.datetime サンプルストア候補

クライアントの現在の日時情報を格納します。

ソースの場所

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

ベースとなる実装

contexthub.datetime ストア候補は、ContextHub.Store.PersistedStore を拡張したものです。

設定

デフォルトの設定は、ContextHub.Store.PersistedStore から継承されます。

データツリー

このストア候補を使用するストアのデータツリーは次の例のようになります。

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

contexthub.generic-jsonp サンプルストア候補

JSONP サービスからのデータを格納します。このストア候補のストア設定の例については、contexthub.generic-jsonp ストアの作成を参照してください。

ソースの場所

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

ベースとなる実装

contexthub.datetime ストア候補は、ContextHub.Store.PersistedJSONPStore を拡張したものです。

設定

このストア候補をベースとしてストアを作成する場合は、呼び出す JSONP サービスの詳細を格納したサービスオブジェクトを提供する必要があります。次の JSON コードは、サービスオブジェクトに必要な形式を説明したものです。

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

データツリー

JSONP サービスが返すデータによって、ストアのデータツリーが決定されます。 

contexthub.geolocation サンプルストア候補

contexthub.geolocation サンプルストア候補は、Google マップを使用して、クライアントの位置に関する情報を取得し、格納します。 

ソースの場所

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

ベースとなる実装

contexthub.geolocation ストア候補は、ContextHub.Store.PersistedJSONPStore を拡張したものです。

設定

デフォルトの設定で、Google サービスに関する情報および緯度と経度の初期座標を指定します。

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

データ項目

このストアは、次の例のようなデータツリーを使用します。

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

注意:

Chrome 50.x で導入されたセキュリティポリシーでは、すべてのジオロケーション関連呼び出しは、安全な接続を使用しておこなう必要があります。そのため、AEM では、AEM が https 経由で実行されていても、ジオロケーション API 呼び出しに https の使用を強制します。その他の場合は、同一オリジンポリシーに準拠するために、http が使用されます。Chrome での変更について詳しくは、Google のこのブログ投稿を参照してください。

contexthub.surferinfo サンプルストア候補

デバイス、ウィンドウ、ブラウザー、日付時刻など、現在のクライアント環境に関する情報を格納します。

ソースの場所

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

ベースとなる実装

contexthub.datetime ストア候補は、ContextHub.Store.PersistedStore を拡張したものです。

設定

デフォルトの設定は、ContextHub.Store.PersistedStore から継承されます。

データツリー

このストア候補を使用するストアのデータツリーは次の例のようになります。

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

contexthub.tagcloud データストアのサンプル

granite.tagcloud サンプルストア候補は、タグの使用に関する情報を格納します。オプションで、名前付き HTML 要素からタグを自動的に追加できます。

ソースの場所

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

ベースとなる実装

contexthub.geolocation ストア候補は、ContextHub.Store.PersistedStore を拡張したものです。

設定

次の項目を格納したオブジェクトを使用して、このストア候補をベースとしたストアを設定します。

  • parseMeta:(Boolean)ページ上に存在する HTML の meta 要素からタグを追加するかどうか。
  • metaName:(String)parseMetatrue の場合、タグを格納している meta 要素の name 属性の値。
  • tags[]:(String)ストアに追加するタグの配列。

必要に応じて、詳細設定で様々なデバイスプロファイルを指定します。次の設定がデフォルトです。

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

データツリー

このストア候補を使用するストアのデータツリーは次の例のようになります。このストアには、tag1 および tag2 というタグが格納されます。

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

granite.emulators サンプルストア候補

granite.emulators サンプルストア候補は、クライアントデバイスに関する情報を格納します。 

ソースの場所

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

ベースとなる実装

contexthub.geolocation ストア候補は、ContextHub.Store.PersistedStore を拡張したものです。

設定

デフォルトの設定には、様々なデバイスに関する情報を格納する、defaultEmulators という配列が含まれます。ストアを作成する場合、次の例で説明する形式を使用して、必要に応じて詳細設定プロパティで様々なデバイスプロファイルを指定します。

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

データ項目

このストアのデータツリーは、次の例のようになります。

{
   "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 サンプルストア候補

現在のユーザーに関する情報を格納します。

ソースの場所

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

ベースとなる実装

contexthub.datetime ストア候補は、ContextHub.Store.PersistedJSONPStore を拡張したものです。

設定

次のデフォルトの設定を使用します。この設定は変更しないでください。

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

データツリー

このストア候補を使用するストアのデータツリーは次の例のようになります。

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

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

法律上の注意   |   プライバシーポリシー