動的コンテンツとは、モバイルアプリケーションで、ページへの最初のナビゲーション後に要素が追加されたり、変更されたり、ページから削除されたりするシナリオを指します。モバイルアプリケーションの動的コンテンツシナリオを理解して管理することは、正確なノーコードアナリティクスとモバイルガイドの表示に不可欠です。この記事では、PendoのノーコードモバイルSDKがモバイルアプリの動的コンテンツでどのように動作するのかを説明します。
動的コンテンツの課題を理解する
PendoのノーコードモバイルSDKは、以下のシナリオが発生した場合にモバイルアプリを分析し、UI要素の構造表現を作成します。
- ユーザーが、標準的なナビゲーションの仕組みを使って新しい画面に移動する
- ユーザーが、ページ上のコンテンツをスクロールする
他のシナリオでは、ページ上のUIコンテンツが変更されると、保存されているUIの表現がページの新しい構造と異なる場合があります。SDKがUIの変更を認識しない場合があり、ページ閲覧数やクリックアナリティクスが不正確になったり欠落したり、ガイドが期待どおりに表示されなくなる可能性があります。このような動的コンテンツの不一致につながる特に一般的なシナリオには、次のようなものがあります。
- 処理時間が長いため、またはサーバーから情報が取得されるのを待機した結果、ページ上のUI要素のレンダリングが遅れる。
- ユーザーの操作、状態の変更、またはサーバーの応答の結果として、ページ内で要素が追加、変更、または再配置された。
- 標準的なナビゲーションメカニズムを使って新しいページにナビゲートする代わりに、ページ上の既存のUI要素を新しいUI要素に置き換えることでページを実装する。
アプリ内の動的コンテンツを特定する
動的コンテンツを特定するには視覚的な手がかりが最適ですが、見分けるのは難しい場合があります。アプリケーションを調べて、ページの読み込み時に他のUI要素の直後に表示される読み込みスピナー、プレースホルダー、UI要素、およびユーザーがページを操作したときにUIのレイアウトが変更されるページに注意してください。
注:ページ上のUI要素をスクロールした結果としての変更は無視してください。スクロールするとSDKがトリガーされ、保持しているUI表現が更新されます。
アナリティクスが不正確または欠落している場合や、ガイドが表示されない場合は、影響を受けるページ内に動的な要素がある可能性があります。開発者に相談して、アプリに存在する動的要素を理解して見つけることをお勧めします。
動的コンテンツの問題に対処する
カスタム識別子テキストを使用してタグ付けされたページを一意に識別する場合は、ページの有効期間全体を通じてページに残るテキストを選択します。カスタム識別子を選択するときは、選択したテキストがページの読み込み時にすぐにページに表示されることを確認します。
アプリケーション内で動的コンテンツを識別する場合、開発者はScreenContentChanged APIを呼び出す必要があります。これにより、SDKが保持するUIの構造表現を更新するようにSDKに通知されます。
- UIの変更がレンダリングされ、ページにUIの変更が表示された後、APIを呼び出します。
- ページに複数のUI状態がある場合は、ページ内で状態が変化するたびにAPIを呼び出します。
標準的なナビゲーションメカニズムを使用せずに、既存のページのUI要素を切り取ったり置き換えたりすることで発生したページの変更を特定する場合、トラックイベントを使用してページの変更を記録することをお勧めします。ScreenContentChanged APIを呼び出しても、ページ閲覧イベントは生成されません。