Liquid、JavaScriptなどに関する質問
App proxies のパスついて質問がございます。
前提知識
App proxiesは 自分で用意したコンテンツ(例:mycontents.example.com)を xxx.myshopify.com/apps/XXX のショップのドメインからプロキシして呼び出す機能だと理解しています。
アクセス元である xxx.myshopify.com/apps/xxx の apps/xxx のパス部分は、開発者側が関連付けるアプリの設定画面から登録できます。
しかしこのパスは、以下の場合は開発者側が設定したパスとは異なるパスの設定に書き換わってしまいます。
質問
この書き換わってしまったプロキシパスをアプリがembed app内で検知するは方法はあるのでしょうか?
仮に xxx.myshopify.com/apps/override に書き換わってしまっていた場合、実際にアクセスして、プロキシ先である mycontents.example.com にリクエストが飛んできた場合、path_prefix というget parameterでわかるようになっていることはドキュメントを読んで理解できました。
しかし、例えばembed app内で 「ページを確認する」 というリンクでプロキシURLを配置したい場合、書き換わってしまったプロキシURL(xxx.myshopify.com/apps/override)にアクセスする前にそのパスを把握する必要があります。ドキュメントを読んだ感じ、この場合の書き換わったパス情報を把握する方法がないように感じました。
いい方法があるのでしょうか?
ショップのユーザー自身が自分でインストールしたアプリの設定画面から現在設定されているプロキシのパスを確認するしか方法はないのでしょうか?
解決済! ベストソリューションを見る。
成功
残念ながら、通知を受け取る側からはどのパスから来たかは分かりますが、テーマやアプリのコードから変更されたパスをあらかじめ知ることはできません。
デフォルトのprefixはアプリ名などでなるべく他のアプリと被らないようにした上で、もしパスをハードコードしている箇所がある場合は、アプリのトップ画面などでパスを変更した場合は動作しなくなる可能性があることを示唆するか、設定にパスを入れてもらってそれを使うようにするかが、解決策になるかと思います。
(他にベストプラクティスがあるか探してみます)
成功
残念ながら、通知を受け取る側からはどのパスから来たかは分かりますが、テーマやアプリのコードから変更されたパスをあらかじめ知ることはできません。
デフォルトのprefixはアプリ名などでなるべく他のアプリと被らないようにした上で、もしパスをハードコードしている箇所がある場合は、アプリのトップ画面などでパスを変更した場合は動作しなくなる可能性があることを示唆するか、設定にパスを入れてもらってそれを使うようにするかが、解決策になるかと思います。
(他にベストプラクティスがあるか探してみます)
Shopify アカデミーの学習パスと認定スキルバッジExpanding Your Shopify Business Internationallyを活用して、国際的にビジネ...
By Shopify Feb 7, 2025Shopify アカデミーの学習パスB2B on Shopify:立ち上げとカスタマイズで卸売販売に進出しましょう。これら3つの無料コースは、ShopifyストアでB2B機能...
By Shopify Jan 31, 2025サポートの選択肢が増えていく中、最適となる選択の判断が難しくなっているかと存じます。今回は問題の解決に最適となるサポートの選択方法を、紹介させて頂きます。 選択肢のご紹介...
By Mirai Oct 6, 2024