Pendoは、Pendo SDKと連携するハイブリッドアプリの実装をサポートしています。ハイブリッドアプリの例としては、CordovaやIonicなどがあります。ハイブリッドアプリには、アプリ内のウェブページを読み込むためのモバイルコンポーネントとウェブコンポーネント(例:WebViews)の両方が含まれる場合があります。
Pendoは、モバイルSDKを統合してアナリティクスを収集し、モバイルのガイドを表示することで、CordovaやIonicなどのアプリをサポートします。また、ウェブインストールスニペットを統合して、ウェブに対して同じことを行います。ウェブスニペットのインストールの詳細については、インストールスクリプトを使用したPendoの実装に関する開発者ガイドを参照してください。
Pendoサブスクリプションで両方のアナリティクスストリームを表示できますが、2つの異なるAPIキーに分割され、ユーザージャーニーは連続した別々のセッションとして扱われます。
重要:サブスクリプションはウェブとモバイルのアプリケーションで統一されていますが、訪問者ID、アカウントIDs、およびメタデータのキーと値がインストール全体で同じであることを確認して、ユーザージャーニーの一貫性が損なわれないようにすることが重要です。
CordovaアプリケーションにPendoをインストールする
Cordovaは、ハイブリッドモバイルアプリを構築するためのオープンソースのフレームワークです。そのウェブページは、iOSまたはAndroidデバイス上で動作するローカルウェブサーバーから提供されます。アプリはウェブ内にあり、アプリ内でウェブビューが開きます。Pendoは、ウェブエージェントを介してCordovaアプリとIonicアプリをサポートしています。
一般的に、Cordovaアプリケーションは、中央のWebアプリケーションを中心に構築されます。CordovaアプリケーションにPendoをインストールする場合、いくつかの注意点があります。
Pendoのインストールの詳細については、インストールスクリプトを使用したPendoの実装に関する開発者ガイドを参照してください。
ブラウザへのビルド
多くのアプリケーションと同様に、PendoはJavaScriptスニペットを使用してインストールされます。したがって、ビジュアルデザインスタジオ(Visual Design Studio)でページやフィーチャーにタグ付けしたり、アプリ内ガイドを作成したりするには、WebブラウザからCordovaアプリケーションにアクセスする必要があります。
そのためにはCordova CLIが提供するブラウザプラットフォームを使用します。
- Cordovaアプリケーションにブラウザプラットフォームを追加する:
cordova platform add browser
- ブラウザプラットフォーム用のWebアプリケーションを構築する:
cordova build browser
これにより、Web アプリケーションの静的ビルドが/<path-to-application>/platforms/browser/www
に作成されます。次に、ガイドを作成したりページとフィーチャーのタグ付けをするPendoユーザーがアクセスできる場所に、このビルドをホストする必要があります。
ページのタグ付け
Cordovaアプリケーションは複数のプラットフォーム向けに構築できるので、ページルールは、対象となるすべてのプラットフォームを考慮する必要があります。たとえば、以下はサンプルのCordovaアプリケーションの推奨ページです。
この例では、2つの推奨ページで両方とも同じページ(index.html
)がポイントされています。これは、このアプリケーションが実行されているブラウザとiOSプラットフォームが、同じページを異なるURLで配信しているためです。
このような状況に対応するには、ブラウザプラットフォームページの標準的なタグ付け手順に従った後、プラットフォームURLを手動で追加します。Pendoでタグ付けされたページに移動し、[ルールの追加]を選択します。詳細な手順については、ページの表示とタグ付け(Viewing and tagging Pages)を参照してください。
以下の例では、//*/index.html
がブラウザプラットフォームのURLを取得し、//*/*/*/*/*/*/*/*/*/index.html
がiOSプラットフォームのURLを取得しています。
ネイティブデバイス機能の追跡
PendoはCordovaアプリケーションのWebアプリケーション層にインストールされるため、アプリケーションのネイティブ部分ではアクティビティが取得されません。
たとえば、PendoがインストールされたCordovaアプリケーションに、デバイス固有のカメラアプリケーションを起動するボタンが含まれている場合、Pendoはそのボタンのクリック数のみを取得し、カメラアプリケーション内で発生したことは一切取得しません。
ネイティブデバイスの機能を可視化する必要がある場合、CordovaのAPI関数が提供するコールバック関数で、トラックイベントを適宜設定することができます。以下は、写真の取得に失敗した場合のトラックイベントを計測する例です。
// EXAMPLE CODE PROVIDED AS IS WITH NO WARRANTY OR SLA
function cameraSuccess() {
// Code to execute on successful photo
}
function cameraFailure() {
// Code to execute on failed photo
// Send camera-error track event to Pendo to track camera failures
pendo.track("camera-error", {
model: device.model,
platform: device.platform,
version: device.version,
});
}
navigator.camera.getPicture(cameraSuccess, cameraFailure);