CQ では、Web ページでの Cookie の使用方法を設定および制御できるサービスを提供しています。
- 設定可能なサーバー側のサービスによって、使用可能な Cookie のリストを管理します。
- JavaScript API によって、Cookie が使用可能であることを検証する JavaScript コードを作成できます。
この機能を使用して、ページが Cookie の使用方法に関するユーザーの同意に従って動作するようにします。
Adobe Granite Opt-Out Service の設定によって、Web ページでの Cookie の使用方法を指定します。次の表に、設定可能なプロパティについて説明します。
このサービスの設定には、Web コンソールを使用するか、リポジトリに OSGi 設定を追加します。次の表では、どちらの方法でも必要になるプロパティについて説明しています。OSGi 設定の場合、サービス PID は com.adobe.granite.optout です。
プロパティ名(Web コンソール) | OSGi のプロパティ名 | 説明 |
---|---|---|
Opt-Out Cookies | optout.cookies | ユーザーのデバイス上に存在する場合、そのユーザーが Cookie の使用に同意していないことを示す Cookie の名前。 |
Opt-Out HTTP Headers | optout.headers | 存在する場合、ユーザーが Cookie の使用に同意していないことを示す HTTP ヘッダーの名前。 |
White-List Cookies | optout.whitelist.cookies | Web サイトの正常動作にとって不可欠であり、ユーザーの同意なしに使用可能な Cookie のリスト。 |
クライアント側の JavaScript を使用して Adobe Granite Opt-Out Service を呼び出し、Cookie を使用できることを確認します。次のタスクを実行するには、Granite.OptOutUtil という JavaScript オブジェクトを使用します。
- 追跡の目的で Cookie を使用することをユーザーが同意していないことを示す Cookie 名のリストを取得します。
- 使用可能な Cookie のリストを取得します。
- 追跡の目的で Cookie を使用することをユーザーが同意していないことを示す Cookie が、Web ブラウザーに含まれているかを判断します。
- 特定の Cookie が使用可能であるかを判断します。
granite.utils クライアントライブラリフォルダーに、Granite.OptOutUtil オブジェクトが存在します。ページの JSP ヘッド部に次のコードを追加して、JavaScript ライブラリにリンクをインクルードするようにします。
<cq:includeClientLib categories="granite.utils" />
例えば、次の JavaScript 関数は、COOKIE_NAME Cookie の使用が許可されているかを判断し、その後その Cookie に書き込みます。
function writeCookie(value){ if (!Granite.OptOutUtil.maySetCookie("COOKIE_NAME")) return; if (value) { value = encodeURIComponent(value); document.cookie = "COOKIE_NAME=" + value; } }