$p("init"): (String, Object) -> undefined
技術ドキュメントこれは、initi関数に関する技術ドキュメントです。この関数は、LiftIgniterの組み込みにおいて、Javascriptのスニペットをインストールする際に使用します。
スクリプトのデフォルト設定は、configオブジェクトを指定することで調整することができます。
ここでは実際にどんなことができるのか、事例を紹介します。例えば、ページを読み込む際に、自動でインベントリのスクレープを行うのを停止する場合は:
<script type="text/javascript">
if (typeof $igniter_var === 'undefined') {
// クライアントコードのアップデートが行われるようにします。
(function(w,d,s,p,v,e,r) {w.$ps = (w.performance && w.performance.now && typeof(w.performance.now) == "function") ? w.performance.now() : undefined;w['$igniter_var']=v;w[v]=w[v]||function(){(w[v].q=w[v].q||[]).push(
arguments)};w[v].l=1*new Date();e=d.createElement(s),r=d.getElementsByTagName(s)[0];e.async=1;
e.src=p+'?ts='+(+new Date()/3600000|0);
r.parentNode.insertBefore(e,r)})(window,document,'script','//cdn.petametrics.com/{JAVASCRIPT_KEY}.js','$p');
// JAVASCRIPT_KEYをcdn urlに置き換えてください。
var customConfig = {
inventory: {
collect: false
}
}
$p("init", {JAVASCRIPT_KEY}, {config: customConfig}); // REPLACE JAVASCRIPT_KEY
$p("send", "pageview");
}
</script>オプションオブジェクトの[config.inventory.collect = false]を設定して、スクリプトが初期化された際の、自動スクレープを停止することができます。
`[config]は、[インベントリ]と[sdk]の2つの入れ子状オブジェクトを持つトラッカーを示します。[インベントリ]は、ページ上のデータのスクレープに関連する関数の設定を定義します。[sdk]は、 SDKに関連する関数の設定を定義します。この他の[config]オブジェクトの中で組み合わせるキーの値は、JS SDKに他の動作をさせるように設定します。
// General structure of the config variable
var config = {
inventory: {INVENTORY_OPTION: VALUE_A},
sdk: {SDK_OPTION: VALUE_B},
CONFIG_OPTION: VALUE_C
...
}[インベントリ]オブジェクトに設定可能なオプションとその値は下記のとおりです:
| 名前 | タイプ(デフォルト値) | 説明 |
|---|---|---|
| collect | trueまたはfalse(true) | この値を"true"に設定すると、$p("init")が呼び出されるごとにインベントリ収集の機能が実行されます。この値を"false"に設定すると$p("sendItem")の関数が有効になります。 |
| version | 数値(設定なし) | インベントリのバージョンを指定します。インベントリのバージョンが指定されると、クライアントに指定されたバージョンと同じ、またはそれより新しいバージョンのインベントリがリコメンデーションとして返されるか、我々側からスクレープされます。 |
| collectJSON | trueまたはfalse(true) | この値を"true"に設定すると、インベントリ収集の機能が、LiftIgniterメタデータのDOMからテキストコンテンツを解析して、JSONコンテンツをLiftIgniterに送信する情報をマージします。 |
| collectOpenGraph | trueまたはfalse(true) | この値を"true"に設定すると、インベントリ収集の機能が、ページ上のOpenGraphのデータをスクレープします。 |
| collectOpenGraphOnly | trueまたはfalse(true) | この値を"true"に設定すると、スクリプトは必須のOpenGraphの値をすべて持っているページの情報だけを収集します。 |
| disableCustomWidget | trueまたはfalse(false) | この値を"true"に設定すると、LiftIgniterが埋め込んだウィジェトの表示を停止します。 |
| mandatoryFeatures | Array[String] (["title", "url"]) | LiftIgniterにリコメンドの対象となるページまたはアイテムとして送る際に必須となる値のリスト。デフォルトでは、"title"と"url"が設定されています。 |
| mandatoryOpenGraphFeatures | Array[String] (["title","url","type"]) | LiftIgniterにリコメンドの対象となるページまたはアイテムとして送る際に必須となるOpenGraphの値のリスト。デフォルトでは、"title"、"type"と"url"が設定されています。 |
| features | Array[Object] (undefined) | スクリプトがスクレープする値のリスト。オブジェクトに関するドキュメントは下記を参照してください。詳細はこのドキュメントを参照してください。 |
| filters | Array[Object] ([\{name:"noIndex", value: "true"}][{name:"noIndex", value: "true"}]) | インベントリをスクレープする際のフィルタリングリスト。スクリプトが[name]の識別子に[value]の値を指定されたフィールドをスクレープすると、スクリプトはページ自体のスクレープを行いません。 |
| itemRegex | JS Regular Expression (undefined) | ページのコンテンツの[url]または[id]に合致する正規表現。[url]または[id]が指定された正規表現に合致する場合は、LiftIgniterに送られます。 |
| excludeRegex | JS Regular Expression (undefined) | [url]または[id]が指定された正規表現に合致する場合は、LiftIgniterに送られません。 |
| extensionOff | trueまたはfalse(false) | この値を"true"に設定すると、LiftIgniterのカスタムJSを停止します。 |
[activity]オブジェクト向け
| 名前 | タイプ(初期値) | 説明 |
|---|---|---|
| canonicalUrlTransform | Function (identity) | [window.location]から取得した現在の正規URLを、Functionから返された値に変換する。 |
| urlTransform | Function (identity) | [window.location.href] から取得したURLを、Functionから返された値に変換する。 |
[sdk]オブジェクト向け
| 名前 | タイプ(初期値) | 説明 |
|---|---|---|
| requestFields | 文字列配列( ["url", "author", "title", "rank", "thumbnail"]) | リコメンデーションから受け取るフィールドのリスト。 |
| arrayRequestFields | 文字列配列([]) | リコメンデーションから文字列配列として受け取るフィールドのリスト。 |
| requestFieldsAON | trueまたはfalse(false) | この値を"true"に設定すると、モデルクエリに、"requestFields"で指定したすべてのフィールドに値を持つアイテムを返すようにリクエストします。 |
| mandatoryRequestFields | Array of String ([]) | If requestFieldsAON is set to false (or not set, so it defaults to false) this allows you to mark a subset of requestFields as mandatory. We only return items that have all those fields. |
| mandatoryArrayRequestFields | Array of String ([]) | If requestFieldsAON is set to false (or not set, so it defaults to false) this allows you to mark a subset of arrayRequestFields as mandatory. We only return items that have all those fields. |
| multiFetch | trueまたはfalse(false) | この値を"true"に設定すると、JavaScript SDKに同じページに複数のリコメンデーションのクエリを送ることができるようにします。 |
| pushStateReset | trueまたはfalse(false) | この値を"true"に設定すると、pushStateが実行された際に、新たなページをリフレッシュして呼び出します。 |
| replaceStateReset | trueまたはfalse(false) | この値を"true"に設定すると、replaceStateが実行された際に、新たなページをリフレッシュして呼び出します。 |
| pushStateCallback | Function (function(){}) | pushStateResetまたはreplaceStateが"true"に設定されている場合またはハッシュベースのルーティングが有効になっている場合に、pushStateまたはhash routingの際に呼び出されるcallback関数。 |
[histSettings]オブジェクト向け
| 名前 | タイプ(初期値) | 説明 |
|---|---|---|
| stripTags | trueまたはfalse(true) | この値を"true"に設定すると、URLからタグを外して、ユーザの閲覧履歴を整理します。 |
| stripHashes | trueまたはfalse(true) | この値を"true"に設定すると、URLからタグを外して、ユーザの閲覧履歴を整理します。 |
| stripDashes | trueまたはfalse(true) | この値を"true"に設定すると、URLからハッシュを外して、ユーザの閲覧履歴を整理します。 |
| origin | String (undefined) | ユーザが滞在しているページのホストを置き換えます。例えば、ユーザが"www.facebook.com/blah"に滞在している際に、この値が"www.google.com"に設定されていると、現在のURLとして送られるデータは"www.google.com/blah"になります。 |
一般的なオブジェクト(ネストされたオブジェクトを除く)向け
| 名前 | タイプ(初期値) | 説明 |
|---|---|---|
| apiRegex | JS Regular Expression (undefined) | この設定を行うと、指定された正規表現に合致するURL上のアクティビティだけを送ることができるようになります。これを使用することで、ローカルホストやテスト環境でのアクティビティをフィルタすることができます。 |
| apiExcludeRegex | JS Regular Expression (undefined) | この設定を行うと、指定された正規表現に合致するURL上のアクティビティだけを送らないことができるようになります。これを使用することで、ローカルホストやテスト環境でのアクティビティをフィルタすることができます。 |
| globalTracking | trueまたはfalse(false) | この値を"true"に設定すると、ユーザのサイトをまたいだ動きをトラックする、サードパーティーのCookieを有効にします。 |
| trackingTransURL | function (default: identity) | 引数として[track]の関数でトラックされているURLおよびコンテンツIDのアイテムを取り込み、ユーザが閲覧またはクリックしたURLを値として返す関数を定義します。 |
| customBrowsingHistory | function (default: undefined) | この関数が定義されると、ユーザの閲覧履歴をアップデートする内部JS関数を実行します。 |
