アクセスルールの概要
アクセスルールとは何か、If/Unlessによる一致の仕組み、アプリが対応するすべてのルールタイプの紹介です。
アクセスルールとは、商品、コレクション、ページ、ストアフロント全体、チェックアウトなど、ロックの対象を訪問者が表示または利用する前に満たす必要がある条件です。すべてのロックには、少なくとも1つのアクセスルールが必要です。ルールがないと、アプリは承認された訪問者とそれ以外の訪問者を区別できません。
アクセスルールは、ロックのUnlock rulesタブから追加します。各ルールは、訪問者についての特定の1点(ログインしているか、特定のタグが付いているか、正しいパスコードを入力したかなど)を確認し、設定したすべての条件が満たされた場合にのみロックが開きます。

ロックのエディタ内にある条件タイプピッカーから、アクセスルールを選択します。
IfとUnless
Section titled “IfとUnless”ほとんどのアクセスルールは、次の2つの方法のどちらかで一致するよう設定できます。
- If — 訪問者が条件を満たしている場合に、ルールが満たされます(たとえば、If Logged-in customers:訪問者はログインしている必要があります)。
- Unless — ルールが反転し、訪問者が条件を満たしていない場合に、ルールが満たされます(たとえば、Unless Logged-in customers:訪問者はログインしていない必要があります)。
これは、各ルールの条件タイプの横にあるRule logicスイッチで切り替えられます。

Rule logicスイッチを使って、ルールをIfとUnlessの間で切り替えます。
複数のルールを組み合わせる
Section titled “複数のルールを組み合わせる”1つのロックで、複数のアクセスルールを同時に使用できます。これらの条件がどのように作用するかは、実践例を含めて専用のページで説明しています。
すべてのアクセスルール
Section titled “すべてのアクセスルール”以下のルールは、確認する内容ごとにグループ分けされています。各ルールのページで、詳しい設定手順をご覧いただけます。
識別と顧客のルール — 訪問者が誰であるか
- ログイン済み顧客 — 訪問者が顧客アカウントにログインしているか
- 顧客タグ — 顧客のアカウントに特定のタグが付いているか
- B2B顧客 — 顧客がShopifyのB2B会社アカウントに所属しているか
- メールアドレスに含まれる文字列 — ログイン済みの顧客のメールアドレスに指定した文字列が含まれているか
- 選択した顧客 — 顧客が、選択した手動リストに含まれているか
ロック解除のアクション — 訪問者がロックを解除するために行うこと
- パスコード — 訪問者が共有コードを入力する
- シークレットリンク — 訪問者が有効なトークンを含むリンクからアクセスする
- 購読してロックを解除する — 訪問者がメールアドレスで購読する
- 確認プロンプト — 訪問者がConfirmをクリックして自己申告する
- カスタムLiquid — 独自のLiquidスニペットで判定する
時間とスケジュール — ロックが有効な時期
- 日付範囲 — 固定の開始日と終了日
- 週間スケジュール — 繰り返しの曜日と時間帯
- ストアフロントの言語 — 訪問者が閲覧しているストアフロントの言語
ロケーションとデバイス — 訪問者がどこから閲覧しているか
購入履歴 — 顧客がすでに購入したもの
カート — 訪問者のカートに現在入っているもの
- カート条件 — カート内の商品、カート内のバリエーション、カートの数量、カートの合計
ブロックされた訪問者に表示される内容
Section titled “ブロックされた訪問者に表示される内容”ページ、コレクション、ブログでルールが訪問者を拒否すると、アプリはコンテンツをロックカードに置き換えます。Access denied messageはそのカードのデフォルトのテキストで、ほとんどのルールでは常にこれが使用されます。

Access denied message — ほとんどのルールが表示するカードです。
ログアウト状態の訪問者の場合
Section titled “ログアウト状態の訪問者の場合”5つのルールは顧客が誰であるかを確認するため、これらのルールでは、ログアウト状態の訪問者はサインインするだけでよい場合があります。これらのルールでは、サインインリンクを含む2つ目のメッセージ、Guest message contentに切り替わります。

Guest message — 5つの顧客識別ルールのみが、ログアウト状態の訪問者にのみ表示します。
ゲストメッセージは、次の3つすべてに当てはまる場合にのみ表示されます。
- 失敗したルールが、ログイン済み顧客、顧客タグ、B2B顧客、メールアドレスに含まれる文字列、選択した顧客のいずれかである。
- そのルールが、UnlessではなくIfに設定されている。
- 訪問者がサインインしていない。
それ以外の場合、カードにはAccess denied messageが表示されます。そのため、Customer tagsルールを満たさなかったログイン済みの顧客にはAccess deniedが表示され、Date range、Location、Cart conditionsなどのルールによってブロックされたすべての訪問者(ログイン済みかどうかを問わず)にも表示されます。
| メッセージフィールド | 使用される場面 |
|---|---|
| Guest message content | 上記の5つのルールがIfに設定されている場合の、ログアウト状態の訪問者のみ |
| Access denied message | それ以外のすべて |
アクション型のルール(Passcode、Secret link、Subscribe to unlock、Confirmation prompt)では、訪問者がその場でコンテンツのロックを解除できるため、このカードの代わりに、それぞれ独自のプロンプトが表示されます。