モバイルでのタグ付け:技術情報

モバイル分析の識別は、モバイルにはページを表すURLがない、ボタン/フィーチャーを表すCSSルールがないという2点で、ウェブ分析と異なります。

この記事では、Pendoのモバイル上のタグ付けの技術的な概要を説明します。

画面やボタンの特定は、ガイド表示の基本でもあります。

Pendo SDKはどのように機能するのですか?

  • ページの閲覧数、フィーチャーのクリック数、ページ滞在時間、アプリ滞在時間などを自動的に収集します
  • スクロール、クリック、可視画面のビュー階層の変化(Activity/fragments/UIViewControllers)など、UIの変化を検出します
  • iOSでは、ページ閲覧数とクリック数のリアルタイムな識別を、実行時に既存のセレクタの実装を変更するプロセスであるスウィズリングによって実現します
  • ページの閲覧数およびフィーチャーのクリック数をレポートします
  • 新しいページやボタンを検出するたびに、そのページやボタンでアクティブにすべきガイドがあるかどうかをチェックします

Androidページの識別

  • Pendoは表示可能なフラグメントと、それらをホストする現在のアクティビティ、およびそれらの間の階層によってページを識別します
  • 選択したタブとテキスト(TabLayoutsの場合)、選択したページ(ViewPagerの場合)、選択したタイトル(BottomNavigationViewの場合)といった、追加のヒントも使用されます
  • ユーザーは類似した構造のページを区別するために、「カスタム識別子」としてUIラベルをページに割り当てることができます。これは、[ページルール(Page Rules)]タブ([管理ページ(Manage Page)]の下)でユーザーが実行できます。これを実現するために、Pendoは完全にハッシュ化されたページテキストを使用します。これはオフにすることもできますが、ページの識別に支障をきたす可能性があります。
    ヒント:別のページに同じアナリティクスデータがある場合(ページ閲覧数、訪問者数、アカウント数が同じ場合)には、ページにカスタム識別子を追加してみてください。
  • もし「ページルール」がまだ十分に具体的でない場合は、サポートチームが微調整を行います。

iOSページの識別

  • Pendoは、構成するUIViewControllersとその階層によってiOSのページを識別します
  • 選択したタブのインデックスなど、他のヒントも使用されます
  • ページにタイトルがある場合、タイトルはデフォルトでページルールに含まれますが、エンドユーザーはこのページの[ページルール]タブで削除することができます。
    ヒント:ページのデータが少なすぎる場合は、タイトルを削除してみてください。
  • ユーザーは類似した構造のページを区別するために、「カスタム識別子」としてUIラベルをページに割り当てることができます。これは、[ページルール]タブでユーザーが行うことができます。これを実現するために、Pendoは完全にハッシュ化されたページテキストを使用します。これはオフにすることもできますが、ページの識別に支障をきたす可能性があります。
    ヒント:別のページに同じアナリティクスデータがある場合(ページ閲覧数/訪問者/アカウント数が同じ場合)には、ページにカスタム識別子を追加してみてください。
  • もし「ページルール」がまだ十分に具体的でない場合は、サポートチームが微調整を行います。

フィーチャーの識別

  • Pendoは、クリックハンドラを持つ要素をクリック可能と認識します。
  • Pendoは、テキスト、アクセシビリティ、クラス名、アクション、リスト内のインデックス、親のインデックスなど、多くのデータを使ってフィーチャーを特定します。
  • この情報をもとに、デフォルトの「フィーチャールール」が作成されます。
  • 場合によっては、このルールが狭すぎたり、広すぎたりすることがありますが、その場合はサポートチームにルールの変更を依頼し、ニーズに合わせて微調整できます。将来的には、どの属性をフィーチャールールに含めるかをエンドユーザーがコントロールできるようにする予定です。
  • また、iOS SDK 2.6+では、ジェスチャーで実装されたビューがクリック可能なものとして認識されます。

フィーチャーでできること

タグ付けされたフィーチャーでは、以下の属性を使用できます。

  • テキストを含める/除外する:ボタンのテキストが動的な場合、そのテキストをフィーチャールールから除外できます。ただしテキストを削除すると、非常に重要なヒントが削除されるため、本当に必要な場合にのみ使用してください。
  • リスト内の任意の要素を含める:リスト内の位置に関係なくクリックをキャプチャする場合に使用します。この場合はボタンのテキストを無視します。必要であれば、サポートチームがテキストを戻します。
  • アプリ全体:共通のフィーチャー(例:タブ)では、そのフィーチャーがどのページにあるかに関わらず、クリック数を収集します。

サポートにより、「リスト内のあらゆる場所でこのテキストを含める」など、より詳細なルールを設定できます。