POS UI拡張がリアクティブストレージに対応|shopify.storage.current 解説
ポーリング不要。ストレージの変更を自動検知して画面をリアルタイム更新
このアップデートはPOS UI拡張を開発するShopifyパートナー・開発者が対象です。API バージョン 2026-10 以降から利用可能になり、同一POSデバイス上の複数の拡張ターゲット間でストレージ値の変更を自動検知・リアルタイム反映できるようになりました。既存の拡張機能への変更は不要です。
1Before / After:何が変わったのか
2shopify.storage.current の仕組み
3業務に活かせる具体ユースケース
- 課題
- バックグラウンドで取得したロイヤルティポイントをスマートグリッドタイルに即時反映したい
- 打ち手
- バックグラウンドターゲットが
Storage.set('loyalty_points', value)で書き込み、スマートグリッドタイルがshopify.storage.current['loyalty_points']を購読して自動更新する - 効果
- ポーリングなしでポイント残高を常に最新状態に保ち、スタッフが正確な情報で接客できる
- 技術メモ
- API バージョン 2026-10 以降が必要。初期ロード中は
undefinedになるため、ローディング表示などのハンドリングが必須
- 課題
- 複数の拡張ターゲットが同じカート情報を参照しており、一方が更新したタイミングで他方に反映が遅れる
- 打ち手
- カート関連データをストレージに書き込む側は既存の
Storage.set()を使い、参照する側はshopify.storage.currentでシグナル購読に切り替える - 効果
- カスタムポーリングロジックを排除してコードをシンプル化し、表示タイムラグを解消できる
- 技術メモ
- 書き込み・削除は従来どおり既存の Storage API メソッドを使用する点に注意
- 課題
- スタッフ認証ステータスなど、複数ターゲットが参照するフラグを同期させたい
- 打ち手
- 認証完了時に
Storage.set('auth_status', 'verified')を実行し、各ターゲットがshopify.storage.current['auth_status']を購読して状態を自動反映する - 効果
- 認証状態の不整合によるUXの乱れを防止。追加のメッセージング実装が不要になる
- 技術メモ
- 同一POSデバイス上の同一拡張機能の他ターゲットへの変更のみが検知対象。デバイスをまたいだ同期は対象外
4技術者向けポイント
| 項目 | 内容 |
|---|---|
| 対象 API バージョン | 2026-10 以降。それ以前のバージョンでは shopify.storage.current は使用不可 |
| シグナルの性質 | 各ストレージキーが読み取り専用のリアクティブシグナルとして公開される。値の読み取りと変更購読が可能 |
| 書き込み・削除 | 引き続き既存の Storage API メソッド(.set() / .remove())を使用する。current からの書き込みはできない |
| 初期値の注意 | ストレージ値は非同期でロードされるため、シグナルの初期値は undefined。キーが存在しない場合も同様。必ずハンドリングすること |
| 適用範囲 | 同一POSデバイス上の同一拡張機能の複数ターゲット間のみ。異なるデバイス・異なる拡張機能への反映は対象外 |
| 既存拡張への影響 | 破壊的変更なし。既存の Storage API は変更なしで継続動作する。移行作業は任意 |
shopify.storage.current を採用することで、POS上の複数拡張ターゲット間のデータ同期をポーリングレスなリアクティブ設計に刷新し、開発工数削減とリアルタイムUX向上を同時に実現できます。
Source: https://shopify.dev/changelog/pos-ui-extensions-now-support-reactive-storage-access | 公開日: 2026年10月22日






Share:
UCPロケーション検索で実店舗を発見する新機能
Polaris 2.0安定版リリース:移行手順を解説