AIを使用して英語から翻訳されました
この記事はAI技術を使用して翻訳されたことにご注意ください。正確性を維持するよう努めていますが、一部の詳細は元のテキストを完全に反映していない場合があります。情報に不明な点がある場合は、英語版を参照してください。
なぜ私のスクリーンショットには画面全体が含まれていないのですか?
スクリーンショットを撮るとき、ホーム画面、製品リスト、または製品詳細など、スクロールが必要なコンテンツのために、一部が完全でない場合があります。
解決策:
- Android: 画面のいくつかのスクリーンショットをキャプチャし、同じゾーニングに保存します。
- iOS: 長いスクリーンショットを撮って、画面全体をキャプチャします。
ここでさらに読む
Contentsquareのスクリーンショットは、アプリによってレンダリングされたコンテンツのみをキャプチャできます。上記のケースでは、まだ表示されていないコンテンツはレンダリングされず、スクロール時にコンテンツが画面から消えます。
その理由は、モバイルアプリ開発者がコンテンツのリストをレンダリングするために特定のUIコンポーネントを使用することが多く、アプリのパフォーマンスと応答性を最適化するために、表示されているコンテンツのみをレンダリングすることを目的としているからです。
Android特有
問題:
スクリーンショットを撮りたい画面がAndroidでうまくレンダリングされません(例えば、背景色が表示されないなど)。
原因:
Contentsquareは、スクリーンショットにカスタムスタイルプロパティをキャプチャできません。画面のコードに背景色などのカスタムスタイルプロパティが使用されている場合、これらはスクリーンショットにレンダリングされません。
解決策:
静的スクリーンショットモードを使用してスクリーンショットをキャプチャします。画面全体を取得したい場合は、各セクションのいくつかのスクリーンショットをキャプチャし、同じゾーニングに保存します。
ここでさらに読む
デフォルトのプロパティはカスタムプロパティを考慮せずにキャプチャされます。このため、デフォルトのダイナミックスクリーンショットモードでスクリーンショットをキャプチャすると、表示の問題が発生する可能性があります。
この問題は、静的スクリーンショットによって解決できます。
どのように機能しますか?
静的スクリーンショットは、電話の画面の可視部分のみをキャプチャすることを許可します。デフォルトモードとは異なり、静的モードは画面全体のスクリーンショット(サムネイルに似ています)を使用し、可視UI要素のツリーを構築し、スタイルプロパティを少なく(位置、幅、高さのみ)添付します。
どのように有効にしますか?
スクリーンショットボタンを長押しして設定にアクセスし、静的スクリーンショットフラグをオンにし、スクリーンショットアイコンをタップしてスクリーンショットを撮ります。
トラブルシューティングの技術的説明
開発者は、特定のUIコンポーネント(iOSのUITableViewまたはUICollectionView、AndroidのRecyclerView)を使用して、大量のデータを効率的に表示することを容易にします。開発者はデータを提供し、各アイテムの外観を定義でき、必要に応じて要素を動的に作成します。
これらの個々のコンテナ要素は再利用されます。アイテムが画面外にスクロールすると、そのコンテナは破棄されません。代わりに、ビュー(コンテナ)は、画面上にスクロールしてきた新しいアイテムのために再利用されます。この再利用は、アプリのパフォーマンスと応答性を大幅に向上させ、電力消費を削減します。
通常、開発者は次の2つのケースではこれらの特定のUIコンポーネントを使用しません:
画面の内容がデバイスの高さよりも小さい:
画面の内容はビューポートよりも大きくないため、すべての内容が表示されているのでスクロールする必要はありません。スクリーンショットの問題はなく、キャプチャは正常に動作しています。
画面の内容が少し長いがレンダリングされている:
内容はビューポートよりも少し長い場合、開発者は画面上にまだ表示されていないアイテムや画面の少し下にあるアイテムを含むすべての要素を作成することを決定できます。
その場合、Contentsquareは、すべてのレンダリングされたUI要素のスクリーンショットをキャプチャできるようになります(iOSまたはAndroidのデフォルトモードで)、たとえ少しスクロールする必要があっても。
ゾーンの0.00%またはN/Aは何を意味しますか?
ゾーンはデータが収集されていない場合、0%を示します。
N/Aは該当なしを意味し、データが有意になるためのセッションが不十分な場合や、ゾーンに子ゾーンが多すぎる場合に表示されます。より小さなゾーンまたは別のセグメントを選択してみてください。
特定のゾーンでタップ率が0%なのはなぜですか?
根本的な原因:ジェスチャーは最も低いゾーンではなく、親ゾーンに接続されています。
検証方法:
-
ゾーン作成モードに入ります、
-
0%のゾーンにカーソルを合わせます、
-
親ゾーンを選択するために「キーアップ」を押します、
-
0%のゾーンと同じサイズの親ゾーンを選択するまで繰り返します、
-
ゾーンを作成します、
-
仮定が正しければ、データが得られます。
サブルート原因(iOSのみ):ゾーンはUIIMAGEVIEW
です
解決策:
画像上でタップを取得するために親ビューにゾーンを作成するか、「マルチゾーン」オプションを使用すると、親ゾーンが選択されます。
なぜすべてのゾーン(またはその大部分)のタップ率が0%なのか?
根本原因1:スナップショットが分析コンテキストと一致しないアプリバージョンで取得されています
検証方法:
-
「スナップショットX/Y」にカーソルを合わせてスナップショットのアプリバージョンを確認します
-
ACを開き、スナップショットのアプリバージョンと正確に一致する条件を追加します
-
ACの変更を適用します
-
データが正当であれば、これが根本原因です
根本原因2:Android SDKが期待されるビューにジェスチャーを添付しません
説明はこちらをご覧ください。
なぜスクリーンショットが失敗するのか?
根本原因1:以前にトリガーされたスクリーンビューがありません
サーバーがスクリーンショットを受け入れるためには、スクリーンビューに添付されている必要があります。
問題の特定方法:
-
ログを見て問題を再現しようとする必要があります
-
スナップショットをキャプチャしようとしたときに、スクリーンビューイベントが以前にあったかどうかを確認します
-
もしなかった場合、それが問題を意味します
解決策:
追跡したい画面のスクリーンタギングプランを更新する必要があります
根本原因2:スナップショットが大きすぎる/ネットワークアップロード速度が遅すぎる
スナップショットキャプチャの進行には時間がかかり(約30秒)、その後失敗します。
問題の特定方法:
-
画面を確認し、画像がたくさんある長い画面であれば、良い候補です。
-
インターネット接続の種類、特にアップロードについて。ADSLのように<1Mb/sの場合、別のヒントです。
-
Fiberインターネット接続または4G(アップロードが良好)を使用して画面をキャプチャしてみてください。成功すれば、それが問題です。
-
Androidの場合、静的スナップショットモードを使用して画面をキャプチャしてみてください。成功すれば、それが問題です。
解決策:
実装チームに相談してください。
「未追跡のWebview」というテキストがある大きなグレーの領域があるのはなぜですか?
根本原因:この画面のWebviewトラッキングが機能していません。
SDK設定でWebviewトラッキングが有効になっていません。
問題を検証する方法:
-
SDK設定に移動します。
-
機能フラグを確認します。
-
これが必要です:
[{"name":"web_views_tracking","minVersion":"2.0.0","enabled":true}]
解決策:
実装チームにWebviewトラッキングのための適切な機能フラグを設定するように伝えてください。
SDKバージョンが4.1.0より高い場合、実装チームは機能フラグを手動で追加する必要はありません。
ネイティブアプリ側でWebviewトラッキングが実装されていません
問題を検証する方法
-
ネイティブアプリ側でWebviewトラッキングを実装しましたか?
-
そうでない場合、それが少なくとも問題の一部です。
解決策
Webview実装手順に従ってください。
Webページ側でWebviewトラッキングが実装されていない場合はどうすればよいですか?
問題を検証する方法:
-
-
iOSの場合:このドキュメントに従って特定のログを探してください。
-
Androidの場合:Webviewで読み込まれたWebページにWebviewトラッキングタグを実装しましたか?
-
解決策:
スナップショットが期待通りにレンダリングされないか、壊れている
根本原因 1:ネイティブUI要素はサポートされていません。
問題を特定する方法
スナップショットがキャプチャされた画面と異なる場合(欠落部分):
-
スナップショットリスト内で
-
ゾーニングスナップショットサイドパネルで
-
ゾーニングエディタで
欠落している要素が「ポップアップ」または「メニュー」、または下から表示されるUI要素(ボトムシート)の場合、それはおそらく現在サポートされていないnativeUI要素です。
詳細と現在の制限については、こちらをご覧ください。
根本原因 2 [Androidのみ]: スタイルのカスタムオーバーライド
問題の特定方法:
スナップショットリストやゾーニングスナップショットサイドパネルではスナップショットが正常に表示されているが、スナップショットに表示の問題(色が間違っている、黒いセクションなど)がある場合。
これは、SDKが正しいスタイル値を取得するのに問題がある可能性が高く、あなたがコード内でオーバーライドしているためです。
症状としては、スナップショットが異なる画面を表示している場合もありますが、注意深く見ると、期待される画面の一部の要素(テキストやアイコンなど)が見えるかもしれません。
解決策:
スタティックスナップショットを使用してください。これはエッジケースを処理するために開発されました。
根本原因 3 [Androidのみ]: Jetpack ComposeはまだAndroidでサポートされていません
Jetpack Composeは、GoogleがネイティブUIを構築するために導入したAndroidのUIツールキットです。UI開発プロセスを簡素化します。現在、Android SDKはComposeで構築されたUIの一部を解析して、すべての内部要素を特定することができます。これにより、Composeで構築された部分が1つの要素としてキャプチャされ、内部要素を分析する能力がありません。
なぜiOS(SwiftUI)のリスト要素にゾーンを作成できないのですか?
Zoningを使用しているとき、リストの行に一致する要素のゾーンを選択できません。しかし、子要素を選択することはできます。
説明:
SDKには、VStackおよびLazyVStackコンポーネントを含むSwiftUI画面のスナップショットを取得したり、ジェスチャーイベントを収集したりする際に制限があります。
特定のケースでは、SwiftUIはリスト要素のView階層にUI要素をレンダリングしないことがあります。これは、要素に背景色が割り当てられていない(または透明な色を持っている)場合に特に当てはまります。
次の例では、各アイテムにLuigiの画像と2行のテキストが含まれるリストがあります。この要素にゾーンを作成したいのですが、リストアイテムに対応するUI要素は存在しません。したがって、ゾーンを作成することはできません。その理由は、SwiftUIがUIKitに要素を作成しなかったため、必要ないと見なされたからです:
解決策:
可能であれば、スタック内の各要素に背景色モディファイアを追加することをお勧めします。背景モディファイアは透明であってはならず、色でなければなりません。スタックの背景と同じ色でも構いません。
また、Listコンポーネントを使用する場合、この問題は存在しないことがわかっています。アイテムのリストを縦に表示する機能を提供し、パフォーマンスに対する影響が少ないレイジーローディングや要素の再利用の利点も備えています。
以下の2番目の例では、UI要素が存在します。追加された背景色のおかげでゾーンを作成でき、SwiftUIがUIKitで要素を作成できるようになります: