この記事では、Pendoのモバイル上のタグ付けの技術的な概要を説明します。モバイルアナリティクスの識別は、次の2つの点でウェブアナリティクスの識別とは異なります。
- モバイルページのアナリティクスは、URLではなく、アプリ内のさまざまな画面間のユーザーナビゲーションを追跡することに依存しています。
- モバイルフィーチャー向けアナリティクスでは、CSSルールではなく、ボタンのタップやスワイプ操作、その他のアプリ内アクションなど、特定のユーザーインタラクションの追跡を使用します。
Pendo SDKはどのように機能するのですか?
- ページの閲覧数、フィーチャーのクリック数、ページ滞在時間、アプリ滞在時間などを自動的に収集してレポートします
- SDKは、UIの変化(スクロール、クリック、可視画面の閲覧数、階層の変化)を検出します。
- 新しいページやボタンを検出するたびに、そのページやボタンでアクティブにできるガイドがあるかどうかをチェックします
ページの識別
AndroidおよびiOSアプリケーションのモバイルページは、デフォルトのルールと、ユーザーが追加できるオプションのルールの両方によって識別されます。
デフォルトのルール
- Androidアプリでは、Pendoは表示可能なフラグメントと、それらをホストする現在のアクティビティ、それらの間の階層によってページを識別します。
- iOSアプリでは、Pendoは構成するUIViewControllersとその階層によってページを識別します。
- 選択したタブとテキスト(TabLayouts内)のインデックス、選択したページ(ViewPager)、選択したタイトル(BottomNavigationView)などの追加のヒントも使用されます。
オプションのルール
-
ユーザーは類似した構造のページを区別するために、カスタム識別子としてUIラベルをページに割り当てることができます。これは、[管理ページ(Manage Page)]の[ページルール(Page Rules)]タブでユーザーが実行できます。これを実現するために、Pendoは完全にハッシュ化されたページテキストを使用します。これはオフにすることもできますが、ページの識別に支障をきたす可能性があります。
ヒント:別のページに同じアナリティクスデータがある場合(ページ閲覧数、訪問者数、アカウント数が同じ場合)には、ページにカスタム識別子を追加してみてください。
- ページにタイトルがある場合、タイトルはデフォルトでページルールに含まれますが、エンドユーザーはこのページの[ページルール(Page rules)]タブで削除することができます。
ヒント:ページのデータが少なすぎる場合は、タイトルを削除してみてください。
フィーチャーの特定
- Pendoは、クリックハンドラまたはジェスチャを持つ要素をクリック可能と認識します。
- Pendoは、テキスト、アクセシビリティ、クラス名、アクション、リスト内のインデックス、親のインデックスの多くのデータを使ってフィーチャーを特定します。
- この情報をもとに、デフォルトのフィーチャールールが作成されます。
- 手動でルールを変更するには、フィーチャールールの詳細設定を使用します。詳細については、モバイルでのフィーチャーのタグ付けの詳細設定を参照してください。
ページルールやフィーチャールールがまだ十分に具体的でなく、ニーズに合わせて微調整する必要がある場合は、Pendoサポートまでお問い合わせください。
モバイルタグ付け用のコードベースのソリューションを設定する
弊社のコードベースのソリューションには、フィーチャーがタグ付けできない場合の代替手段として、アプリ内でのユーザーインタラクションを識別する他の方法もあります。この方法には、APIを使用してユーザーインターフェースの特定の要素をクリック可能としてマークする方法や、トラックイベントを使用する方法があります。
トラックイベントの使用について詳しくは、「モバイルトラックイベントの例」をご参照ください。
開発者がコードベースのソリューションでフィーチャーにタグを付けた後は、これらの変更を含むアプリバージョンでページを更新、もしくはキャプチャする必要があります。
APIコードベースのソリューションを使用する
以下では、開発者がAPIコードベースのソリューションを使用してインターフェース内の要素をクリック可能としてマークするための例をご覧いただけます。
ネイティブアプリケーションの場合:
-
iOSの場合:iOSは、SDKが要素を認識する方法を更新します。
PendoRecognizeClickAnalytics
をUIView(UIKitの場合)またはビュー(SwiftUIの場合)でビューを作成した後、またはページが読み込まれたときにアクセスできるようになったときに、そのビューを呼び出します。これにより、SDKはタグ付けのためにその要素をクリック可能なものとして識別するようになり、SDKはまた、その要素に対するクリックを自動的に収集します。詳細については、UIViewとView APIを参照してください。 -
Androidの場合:要素をクリック可能に設定し、クリックロジックでクリックイベントを手動で送信する必要があります。
sendClickAnalytics
を呼び出し、クリックアクションから関連するビューを渡します(onTouchListenerやonClickListenerなど)。詳細については、GithubサイトのネイティブAndroid APIドキュメントをご参照ください。
React Nativeアプリケーションの場合:
- 任意の要素をクリック可能としてマークするには、「nativeID」プロパティを使用します。
<Image nativeID="pendoClickableImage" source={require('../../../assets/icons/react_native.png')} style={{resizeMode: 'contain', width: 100, height: 100, alignSelf: 'center'}} onTouchEnd={()=> { Alert.alert("Wohoo I love react native");}} />
- nativeIDは正規表現テンプレートと一致する必要があります。デフォルトはnativeIDのプレフィックス形式である
pendoClickable
で、この場合設定は必要ありません。他の正規表現テンプレートで、顧客がすでにnativeIDを定義している場合、開発者は次のように正規表現を構成します。
-
traversalOptionsObject.clickableElementsNativeIDsRegex
経由のReact Navigationライブラリの場合:
-
let traversalOptionsObject: RNTraverseOptions = {clickableElementsNativeIDsRegex: '^clickable|^pendo_|...'};
export default withPendoRN(RootNavigator, traversalOptionsObject);
-
-
navigationOptions.clickableElementsNativeIDsRegex
経由のReact Native Navigationライブラリの場合:
-
const navigationOptions = {library: NavigationLibraryType.ReactNativeNavigation, navigation: Navigation, clickableElementsNativeIDsRegex: '^clickable|^pendo_|customRegex'};
PendoSDK.setup(pendoKey, navigationOptions, options);
-
お客様自身で正規表現を設定する場合、すべての正規表現のテンプレートがデフォルトテンプレートに含まれていることを確認する必要があります。
'pendoClickable'
つまりclickableElementsNativeIDsRegex: '^clickable|^pendoClickable|customRegex'
が含まれていることを確認します。 -
React Native Androidのみ。要素をマークした後にクリックアナリティクスが生成されない場合、「
sendClickAnalytics
」APIを呼び出し、nativeIDをパラメーターとして渡します。次に、ネイティブSDKはレイアウト階層でこのビューを検索し、要素情報を収集して、分析結果を送信します。
onTouchEnd={()=> { Alert.alert("Wohoo I love react native"); PendoSDK.sendClickAnalytic("pendoClickableImage") }
注:APIを使用する場合、アナリティクスは遡及されません。このAPIを使用した後にのみ、データは収集されます(トラックイベントと同様の動作)。
sendClickAnalytics
APIの詳細については、Githubサイトの「APIドキュメント」をご参照ください。