AppifyでWeb Viewを使用してオンラインストアを表示する際、モバイルアプリとオンラインストアのヘッダーやフッターが重複して表示されることがあります。
この問題を回避するためには、オンラインストアへのアクセス元がAppifyである場合に、オンラインストアのヘッダーやフッターを非表示にする実装を追加する必要があります。
具体的には、User-Agent
を利用してShopifyにて、Appifyで表示されるWebViewのWebページ内容を切り替えることにより、AppifyからWeb Viewでオンラインストアを表示する際にオンラインストアのヘッダーやフッターを非表示にすることができます。
AppifyでWeb Viewを表示する際、User-Agentリクエストヘッダーには以下のような値が設定されています。これにより、Appifyからのアクセスを識別できます。
iOS: iOS Appify {アプリのバージョン}
Android: Android Appify Android
Webページ内でnavigator.userAgentを使用して、リクエストヘッダーからUser-Agentを取得します。
取得したUser-Agent
に「Appify」の文字列が含まれているかを確認します。含まれている場合、Appify経由でのアクセスと判断できます。
上記の条件が満たされた場合、オンラインストアのヘッダーやフッターを非表示にする処理を実行します。
設定の1と2の実装方法例です。
Plaintext
<script>
document.addEventListener('DOMContentLoaded', function() {
// userAgent を取得
var userAgent = navigator.userAgent || '';
// userAgent に "Appify" という文字列が含まれているかを判定
if (userAgent.indexOf('Appify') !== -1) {
// 含まれている場合の処理を実装する
}
});
</script>
上記は実装方法例であり、動作を保証するものではないのでご了承ください。