2007-01-09 Google Gadgets API 入門 (5)
■[Google Gadgets] Google Gadgets API 入門 (5)
今回は Google Gadgets API の提供する JavaScript ライブラリのうち、Feature-specific ライブラリの説明に入ります。Feature-specific ライブラリにはたくさんのライブラリが含まれますが、今回はその中から setprefs ライブラリ、dynamic height ライブラリ、analytics ライブラリについて解説します。
JavaScript ライブラリの分類
Google Gadgets API で提供されている JavaScript ライブラリは大きく二種類に分類されます。一つは汎用的な関数を集めた Core ライブラリです。もう一つは Feature-specific ライブラリと呼ばれるもので、タブやドラッグ&ドロップなどの特定の機能を実現するためのライブラリです。Core ライブラリについては既に解説済みですので、前回までの内容を参照してください。
Feature-specific ライブラリの使い方
Feature- specific ライブラリを使用するときは、<ModulePrefs> 内に <Require> を追加することで、その機能を使うことを明示しなければなりません。以下に Feature-specific ライブラリの一つである tabs ライブラリの使用を明示する場合の Gadget-Spec の記述例を示します:
<Module>
<ModulePrefs ...>
<Require feature="tabs" />
</ModulePrefs>
...
</Module>
以下に、現時点で提供されている Feature-specific ライブラリを示します:
| setprefs | ユーザ・プリファレンスの値を設定する機能を提供します。 |
|---|---|
| dynamic height | Gadget の高さを動的に調整する機能を提供します。 |
| tabs | タブ機能を提供します。 |
| drag | Gadget に含まれる要素をドラッグ&ドロップをサポートする機能を提供します。 |
| minimessage | Gadget 内に、ユーザに対するメッセージを表示する機能を提供します。 |
| analytics | Google Analytics を使用するための機能を提供します。 |
setprefs ライブラリ
setprefs ライブラリは、ユーザ・プリファレンスの値をプログラムから変更する機能を提供するライブラリです。主な用途としては、ゲームのハイスコアなどの情報を永続化するために使用します。通常、そのようなユーザ・プリファレンスは datatype="hidden" として、ユーザから直接値を変更されないようにします。
setprefs ライブラリを使用するには、以下のように Gadget-Spec で宣言する必要があります:
<Module>
<ModulePrefs ...>
<Require feature="setprefs" />
</ModulePrefs>
...
</Module>
プログラム側では、最初に prefs オブジェクトをインスタンス化します:
var prefs = new _IG_Prefs(__MODULE_ID__)
そして、値の設定は set() 関数によって行います。例えば、"score" というユーザ・プリファレンスの値を 100 に設定する場合は、次のようになります:
prefs.set("score", 100)
set() 関数のパラメータ以下の通りです:
| set(name, value) | name に指定された名前のユーザ・プリファレンスの値を value に設定します。 |
|---|
dynamic height ライブラリ
dynamic height ライブラリは、Gadget の高さを動的に、適切な高さに変更するための機能を提供するライブラリです。Gadget によっては実行中にコンテンツの書き換えを行うものがあります。dynamic height ライブラリを使用すると、Gadget のサイズをコンテンツに最適な高さにリサイズすることができます。これによって不要なスクロールバーが表示されることや、反対に不要なスペースが生じることを防ぐことができます。
dynamic height ライブラリを使用するには、以下のように Gadget-Spec で宣言する必要があります:
<Module>
<ModulePrefs ...>
<Require feature="dynamic-height" />
</ModulePrefs>
...
</Module>
そして、Gadget の高さを調整には _IG_AdjustIFrameHeight() 関数を使用します:
_IG_AdjustIFrameHeight()
analytics ライブラリ
analytics ライブラリを使用することで、Google Analytics による追跡を行うことができます。これによって、作成した Gadget が描画された回数や、Gadget 内で発生したイベント(ボタンのクリックなど)の統計を取ることができます。「Web 拍手 *1」のような機能を実現しても面白いでしょう。
analytics ライブラリを使用するには、以下のように Gadget-Spec で宣言する必要があります:
<Module>
<ModulePrefs ...>
<Require feature="analytics" />
</ModulePrefs>
...
</Module>
前提として Google Analytics のアカウントを取得している必要があります。
analytics ライブラリには以下の関数が含まれます:
| _IG_Analytics(id, path) | Google Analytics にページビューを記録します。id には Google Analytics アカウントの ID(UA-xxxxxxx-x)、path には仮想ページビューのパスを指定します。仮想ページビューのパスとは Gadget に与える仮想的な URL のことで、Google Analytics のレポートで表示されるものです。 |
|---|
仮想ページビューのパスについての補足
Gadget で発生するイベント(ボタンのクリックなど)ごとに指定する仮想ページビューのパスを変えることで、発生したイベントごとの統計を取ることができます。他にも、クイズに正解した場合と不正解の場合で仮想ページビューのパスを変える、などの使い方が考えられます。
次回予告
次回は Feature-specific ライブラリのうち、今回紹介しきれなかったものを解説する予定です。
関連
- Google Gadgets - Google Gadgets のトップ・ページです。
- Google Gadgets API - Overview - Google Gadgets API のトップ・ページです。
- Google Gadgets API - Documentation Home - Google Gadgets の Developer Guide です。開発に必要な多くの情報があります。
- Google Analytics - Google Analytics の日本語サイトです。
- 紅孔雀 - Google Gadgets API 入門 - 管理人のサイトにおける「Google Gadgets API 入門」のページです。本連載の各記事へのポインタがあります。
*1:その記事が良かったと感じてくれた人にボタンやリンクをクリックしてもらう仕組みのことです。