仕組み
Sami B2B Lock, Password Protectがストアフロントでロックを適用する仕組みを、平易な言葉で説明します。
Sami B2B Lock, Password Protectを使うために、ここに書かれた内容を理解する必要はありません。アプリに必要なセットアップは、アプリの埋め込みを1回有効にすることだけです。ただ、買い物客がロックされたページにアクセスしたときに実際に何が起きているのか知りたい場合や、ロックが表示される理由、または表示されない理由を整理したい場合は、このページで順を追って説明します。
アプリの埋め込みはストアフロントのすべてのページで動作する
Section titled “アプリの埋め込みはストアフロントのすべてのページで動作する”Sami B2B Lock, Password Protectは、Shopifyのテーマアプリ拡張機能の埋め込みを通じてストアフロントに提供され、テーマエディタでは Sami Lock として表示されます。テーマでこの埋め込みをオンにすると、訪問者がストアフロントで読み込むすべてのページ(ホームページ、商品ページ、コレクションページ、ブログ記事、カートなど)で、アプリの小さなスクリプトが実行されます。
このスクリプトは、ほとんどのページでは何もしません。ページを読み込むたびに最初に行うのは、そのページが設定済みのロックのいずれかに該当するかどうかの確認です。ほとんどのストアのページ表示の大半では該当しないため、スクリプトは何もせずに終了し、ページは通常どおり表示されます。
どのロックが適用されるかを判断する
Section titled “どのロックが適用されるかを判断する”現在のページがロックに該当する場合(ロックした商品、コレクション、ページ、ブログ記事、URLそのものである場合や、サイト全体をロックしている場合)、アプリはそのロックのアクセスルールの確認に進みます。
この確認は訪問者のブラウザ上で直接行われ、アプリがストアフロントで動作する際にすでに取得できる情報(訪問者がログインしているか、カートの中身、閲覧している言語や国など)を使います。ログイン状態、顧客タグ、カートの内容、日付範囲、ストアフロントの言語など、ほとんどのアクセスルールは、その情報を使って他に何も待たずにすぐに確認できます。
一部のルールタイプは、結果を判断する前に何かを調べる必要があります。
- Location は訪問者の国と照合します。国は訪問者のアカウントから読み取るのではなく、公開のIP検索サービスで判定するため、VPNやプロキシによって検出される国が変わる場合があります。
- Cart conditions(商品、バリエーション、数量、小計)は、ページの初回読み込み後に訪問者が商品を追加または削除できるため、カートが変わるたびに再確認されます。
- Purchased items と Order quantity は、サインイン中の顧客の過去の注文を調べ、対象の商品を以前に購入したか、または十分な回数注文したかを判断します。
少なくとも1つのアクセスキーのすべてのルールが満たされると、アプリは訪問者のロックが解除されたと見なし、コンテンツを通常どおり表示します(価格の非表示やリダイレクトなど、設定したロック動作に従います)。どのアクセスキーも完全には満たされない場合、アプリは設定に応じてロックを適用し、ロック画面の表示、価格やAdd to cartボタンの非表示、リダイレクトのいずれかを行います。
チェックアウトのロックは仕組みが異なる
Section titled “チェックアウトのロックは仕組みが異なる”ここまでの内容は、ウェブサイト上のロック(商品、コレクション、ページ、ブログ、URL、ストアフロント全体)がどのように適用されるかの説明です。チェックアウトのロックの適用方法は異なります。訪問者のブラウザで実行されるスクリプトに頼るのではなく、アプリのチェックアウトルールビルダーで設定した条件を使い、Shopify自身のチェックアウト検証によって適用されます。そのため、純粋に見た目だけのロックであれば理論上は回避できる、JavaScriptの無効化やクライアント側のコードの回避といった方法で、チェックアウトのロック条件を回避することはできません。条件を満たすまで、Shopify自体が注文の完了を許可しません。
セットアップは1つだけ、テーマの編集は不要
Section titled “セットアップは1つだけ、テーマの編集は不要”アプリの埋め込みがこれらすべてを処理するため、テーマにコードを書いたり保守したりする必要はありません。テンプレートにスニペットを追加したり、Liquidファイルを編集したり、テーマ内でロックするページの一覧を管理したりする必要はなく、すべてがアプリ内にあります。埋め込みはページを読み込むたびに、現在のロック設定を読み取ります。必要なセットアップはアプリの埋め込みを1回有効にすることだけです。その後は、アプリでロックを作成、編集、削除すると、自動的にストアフロントに反映され、テーマ側で有効にするものは他にありません。