SDKの概要

JavaScript SDKはスニペットを経由して読み込まれ、コードスニペットに割り当てた名前のグローバルコンテキスト(window)として提供されます。

<script type="text/javascript">
if (typeof $igniter_var === 'undefined') {
// // クライアントコードが確実にアップデートされるようにします。
(function(w,d,s,p,v,e,r) {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に置き換えてください。

$p("init", {JAVASCRIPT_KEY}); // REPLACE JAVASCRIPT_KEY
$p("send", "pageview");
}
</script>

6行目に記した通り、

(window,document,'script','//cdn.petametrics.com/{JAVASCRIPT_KEY}.js','$p')

最後の引数は、SDKがアクセス可能な名前空間を定義します。 デフォルトでは[$p]を設定していますが、[$p]がすでに使用されている場合は[$li]や他の形式に変更することができます。

`[$p]関数は、この関数を指定する文字列を渡すことで呼び出すことができます。 そして、この関数特有の引数と、callbackまたは特定の設定を定義するオプションがあれば、そのオプションのオブジェクトが続きます。

例えば、9行目は2つ目の引数で渡されるJavascriptキーを含むinit関数を示します。ただし、スクリプトを設定するオプションとなる、オプションオブジェクトを3つ目の引数として渡すこともできます。

単独ページで動作するアプリケーションへの組み込み

一般的なWebフローでは、想定しやすいナビゲーションの順序(新しいページをリクエスト、ページを読み込むなど)を適用しています。しかしながら、単独ページで動作するアプリケーションでは、一般的なアプリと同様に、最初に読み込みを行った後は、ユーザのアクティビティに応じてその表示状態を変化させます。

単独ページで動作するアプリケーションへの組み込みにおいては、JavaScript SDKが一般的なWebフローとして想定する、ページビューやCookieアップデートなどの自動機能を停止し、アプリ上のユーザフローに応じてマニュアルでそれらの機能を処理します。