この記事では、SwiftUIで書かれたiOSアプリケーションをPendoがどのようにサポートしているかを詳しく説明します。
SwiftUIは宣言型プログラミングに基づいており、開発者が何をどのように構築するかを明示的に指示するUIKitとは対照的に、開発者がビルドしたいものを宣言し、SwiftUIがそれを生成します。つまり、SwiftUIが発展するにつれて、開発方法に変化が生じる可能性があるということです。一方で追跡は、現在存在する特定の情報に基づいて実施されるため、互換性が損なわれることになります。
SwiftUIはiOS 13で導入されました。PendoはiOS 15-16で最適に動作します。iOS 15以前のバージョンでは、機能を特定することができないため、一部のページを識別できない可能性があります。
重要事項:SwiftUIベータ版SDKを使用すると、アプリケーションの構造によっては、アプリ内の画面間を移動するときにアプリケーションのパフォーマンスに影響を及ぼす可能性があります。
ページのタグ付け
Pendoは、次の条件下でのみSwiftUIで書かれたページをサポートします。
- 開発者が提示しているビューは、SwiftUIナビゲーションAPIでラップされている。
機能のタグ付け
Pendoでは、ユーザーはクリック可能なフィーチャー、つまりエンドユーザーがタップできるフィーチャーのみにタグを付けることができます。
お客様が取得できるのは、以下に関するアナリティクスのみです。
- SwiftUIのラベル/テキストのフィーチャー。
- SwiftUIの画像 - 画像がアプリの一部である(動的ではない)場合、Pendoは画像名を収集します。
注:システムイメージ(sfsymbols)はサポートされていません。 - SwiftUIのボタン:
- テキスト/「役割」を含むボタン - アナリティクスを取得するには、お客様がテキストにタグ付けする必要があります。ボタン自体にタグを付けると、アナリティクスは取得できません。
- 画像とテキストを含むボタン - お客様は画像とテキストにタグ付けする必要があります。ユーザーが画像をクリックすると、ユーザーがテキストをクリックしたときとは別にアナリティクスが送信されます。全体像を把握するには、両方の要素からのクリックを集計する必要があります。
- パディングのあるボタン - パディングのあるボタンは、クリック可能と認識されても、タグ付け可能と認識されない場合があります。回避策として、パディングに色を追加すると、これを解決できます。
- SwiftUIのリスト - リストは現在インデックスパスでサポートされており、たとえば、ユーザーの役割や権限が異なるためにフィーチャーが異なるエリアに配置されている(異なるインデックスを取得している)場合、Pendoはアナリティクスを正確に追跡できません。
注:動的に読み込まれるSwiftUIのフィーチャーはサポートされていません。