動作の仕組み
カウントダウンを含むページをお客様が読み込んだときに、実際に何が起きているのかをわかりやすく説明します。
ここで説明する内容を知らなくてもアプリは使えます。アプリの埋め込みをオンにするだけで設定は完了です。ただし、カウントダウンが特定の動作をする理由を知りたい場合や、問題の原因を調べる場合は、内部で何が起きているかを知っておくと役立ちます。
アプリの埋め込みはすべてのストアフロントページで動作します
Section titled “アプリの埋め込みはすべてのストアフロントページで動作します”Countdown Timer Bar Samitaは、Shopifyのテーマアプリ拡張機能の埋め込みを通じてストアフロントに表示されます。テーマエディタでは Samita Countdown Timer Bar として表示されます。テーマで埋め込みをオンにすると、そのテーマでお客様が読み込むすべてのページで、アプリの小さなスクリプトが実行されます。
ほとんどのページ表示では、スクリプトがすることは何もありません。最初に行うのは、設定した内容がこのページに当てはまるかどうかの判断です。ほとんどのストアのほとんどのページでは当てはまらないため、そのまま何もせずに終了します。
カウントダウンはテーマではなくアプリ側にあるため、保存した変更はテーマを再公開しなくてもストアフロントに反映されます。
ページについてアプリが把握していること
Section titled “ページについてアプリが把握していること”カウントダウンの設定に加えて、埋め込みはShopifyがレンダリングしたページから次の情報を取得します。
- ページの種類:商品ページ、コレクション、カート、ブログなど。Page 条件はこの情報と照合されます。
- お客様が閲覧しているストアフロントの言語:Language 条件と、翻訳されたテキストの両方に使われます。
- ログイン中の顧客(いる場合)とそのタグ:Customer 条件と Customer tag 条件が参照します。
- 商品ページで表示中の商品。
これらはすべてお客様がすでに読み込んだページから取得されるため、顧客条件や言語条件はすぐに判定されます。
表示場所の決定
Section titled “表示場所の決定”カウントダウンをページに表示する方法は2つあります。
商品ページでの自動表示。 Product page にチェックを入れると、スクリプトがテーマの「カートに追加」エリアを探し、そのすぐ下にカウントダウンを挿入します。多くのテーマで使われているパターンに対応していますが、大幅にカスタマイズされたテーマでは認識できず、何も表示されない場合があります。自動配置がうまくいかない原因の多くはこれです。
ショートコードブロック。 Samita Countdown アプリブロックで配置した <div class="samita-countdown" ...> はすでにページ上にあるため、スクリプトはそこにカウントダウンを表示するだけです。テーマに関係なく動作するため、確実な代替手段になります。
カートのカウントダウンは、カートに商品が入っているときに、カートページとカートドロワーのカートフォームの上部に自動で配置されます。セールポップアップはページに追加され、設定した位置に浮かんで表示されます。
表示するかどうかの判断
Section titled “表示するかどうかの判断”適用される可能性のある各カウントダウンについて、アプリはページ、商品、お客様について把握している情報と条件を照合します。ほとんどの条件はその場で判定されます。
次の2つは、情報を取得する必要があります。
- Collections:アプリはページだけでは商品が属するコレクションを確認できないため、Collection条件を有効にするで説明しているテンプレートファイルを使って取得します。このファイルがないと条件を判定できないため、どれにも一致しません。
- Country:お客様のアカウントからではなく、IPアドレスを照会して判定します。VPNやプロキシを使うと結果が変わります。
残り時間の計算
Section titled “残り時間の計算”残り時間は、お客様のブラウザ上で、設定内容とお客様の端末の時計を比較して計算されます。サーバー側でのカウントはありません。
そのためページが軽く保たれますが、次の3点に注意が必要です。
- 端末の時計が大きくずれているお客様には、誤ったタイマーが表示されます。
- Daily recurring timer の時間帯はお客様のローカル時計で判定されるため、「午前9時から午前11時」はお客様がいる場所での午前9時を意味します。
- Countdown to a date タイマーは設定した日時までカウントするため、どのお客様にもそれぞれ正しい残り時間が表示されます。
Fixed minutesタイマーの記憶
Section titled “Fixed minutesタイマーの記憶”Fixed minutes タイマーはページを移動しても継続する必要があるため、お客様が初めて表示したときに、アプリがその人専用の終了時刻をブラウザのCookieに書き込みます。以降のページ表示ではそのCookieを読み込んでカウントを続けます。
そのため、タイマーはブラウザごと、端末ごとに管理され、Cookieを削除するとなくなります。また、設定した分数を変更すると全員分がリセットされます。
アプリが行わないこと
Section titled “アプリが行わないこと”- 商品は変更されません。 価格、在庫、販売可否には一切触れません。タイマーが0になると、タイマーが消えるだけです。
- 在庫は確保されません。 カートのカウントダウンは案内であり、在庫の確保ではありません。
- テーマのテンプレートは編集されません。 埋め込みをオンにするとアプリのスクリプトが追加されます。アプリブロックは、他のブロックと同様にテーマエディタで追加や削除ができます。唯一の例外は、Collection条件用の任意のテンプレートファイルで、これはご自身で追加します。