バナーの鮮度を判定する

サイト内バナーの鮮度を判定する

更新日: 2016年3月18日

デジタルエイドが提供するサイト内バナーは、すべて「表示開始日時」と「表示終了日時」を設定するようになっています。
「表示終了日時」は、その日時を過ぎたら表示しないようにするための目印です。
「表示開始日時」はその日時に至らなければ表示しないようにするための、いわば予約機能があります。しかしこの予約機能はそれほど重視していません。アップロードし、リンクを張らなければ、表示は開始されないからです。つまり、表示開始はアップロードのタイミングを図れはいいのではないかという考え方です。
そのため当サイトで提供する設定ファイル生成ページでは、「表示開始日時」を設定する項目はなく、自動的にファイルを生成した日時が表示開始時間になります。ではどうして、わざわざ「表示開始日時」という設定項目があるのでしょうか?

「次回以降、表示しない」機能のしくみ

サイト内バナーには、「次回以降、表示しない」機能がついている場合があります。ユーザーがこの「次回以降、表示しない」にチェックを入れると、ユーザーのブラウザ内にいつどのサイト内バナーを見たときに、チェックしたかという情報が記録されます(個人情報は一切記録されません)
サイト内バナーのプログラムはこの記録があるかないかを調べ、その上でバナーを表示したりしなかったりします。これはcookieと同じしくみですが、サイト内バナーではcookieよりもよりセキュリティの高いWebストレージというしくみを使っています。

じつは、このままでは少し困ったことが起こります。
サイト内バナーで採用しているのは、ウィンドウやタブを閉じた後でも有効な localStorage という技術です。そのため、cookieと違い、データの有効期限を設定することができません。つまり、一度「次回以降、表示しない」にチェックを入れてしまうと、永久にそのサイト内バナーを表示しなくなるわけです。そうすると、バナーを新しくして、全く新しいメッセージを発しても、以前、「次回以降、表示しない」にチェックを入れたユーザーには、新しいメッセージは届きません。

こうした問題を解決するために、「表示開始日時」という設定項目を付けたのです。
「次回以降、表示しない」にチェックが入っていた場合、サイト内バナーのプログラムは、チェックを入れた日時を調べ、「表示開始日時」と比べます。
もし、「次回以降、表示しない」にチェックが「表示開始日時」より新しいのであれば、今回のサイト内バナーに対するリクエストですので、バナーを表示しません。
もし、「次回以降、表示しない」にチェックが「表示開始日時」より古いのであれば、以前のサイト内バナーに対するリクエストなので、そのWebストレージを削除し、表示するようにします。

つまり、「表示開始日時」によってサイト内バナーの鮮度を判断しているのです。これによって、サイト内バナーが何度でも使いまわせるようになっているのです。

表示予約をする方法

予め、サイト内バナーの設定・設置だけ済ませ、深夜など指定した日時から表示を開始したいという場合もあるかもしれません。
そうしたときは、設定ファイルdata.txtをメモ帳などのようなテキストエディタで編集してください。
最初の項目が「表示開始日時」です。

"startDate": "2015/11/23 07:31",

となっているはずなので、右側の設定値をスタートしたい日時に変更し、文字コードがUTF-8になっているのを確認したうえで、上書きしてください。そのままアップロードし、cssファイルとjQueryとjsファイルにリンクを張れば、OKです。
この状態でテストするには、テストモードを「テストする = on」にしてください。
テストが終わったら、必ずテストモードを「本番モード = off」に戻してください。

まとめ

サイト内バナーの「表示開始日時」はバナーの鮮度を示し、それによってプログラムは「次回以降、表示しない」というリクエストの有効性を判断しています。

▲このページのトップへ