CordovaアプリケーションにPendoをインストールする

最終更新日:

この記事では、CordovaアプリケーションにPendoをインストールする際のガイダンスを紹介します。

一般的に、Cordovaアプリケーションは、中央のWebアプリケーションを中心に構築されます。CordovaアプリケーションにPendoをインストールする場合、いくつかの注意点があります。

Pendoのインストールについては「開発者のためのPendoインストールガイド」を参照してください。

ブラウザへのビルド

多くのアプリケーションと同様に、PendoはJavaScriptスニペットを使用してインストールされます。したがって、ビジュアルデザインスタジオ(Visual Design Studio)でページやフィーチャーにタグ付けしたり、アプリ内ガイドを作成したりするには、WebブラウザからCordovaアプリケーションにアクセスする必要があります。

そのためにはCordova CLIが提供するブラウザプラットフォームを使用します。

  1. Cordovaアプリケーションにブラウザプラットフォームを追加する:cordova platform add browser
  2. ブラウザプラットフォーム用のWebアプリケーションを構築する: cordova build browser

これにより、Web アプリケーションの静的ビルドが/<path-to-application>/platforms/browser/wwwに作成されます。次に、ガイドを作成したりページとフィーチャーのタグ付けをするPendoユーザーがアクセスできる場所に、このビルドをホストする必要があります。

ページのタグ付け

Cordovaアプリケーションは複数のプラットフォーム向けに構築できるので、ページルールは、対象となるすべてのプラットフォームを考慮する必要があります。たとえば、以下はサンプルのCordovaアプリケーションの推奨ページです。

Cordova_Suggested_Page.png

この例では、2つの推奨ページで両方とも同じページ(index.html)がポイントされています。これは、このアプリケーションが実行されているブラウザとiOSプラットフォームが、同じページを異なるURLで配信しているためです。

このような状況に対応するには、ブラウザプラットフォームページの標準的なタグ付け手順に従った後、プラットフォームURLを手動で追加します。Pendoでタグ付けされたページに移動し、[ルールの追加]を選択します。詳細な手順については、ページの表示とタグ付け(Viewing and tagging Pages)を参照してください。

以下の例では、//*/index.htmlがブラウザプラットフォームのURLを取得し、//*/*/*/*/*/*/*/*/*/index.htmlがiOSプラットフォームのURLを取得しています。

Cordova_Page_Rules.png

ネイティブデバイス機能の追跡

PendoはCordovaアプリケーションのWebアプリケーション層にインストールされるため、アプリケーションのネイティブ部分ではアクティビティが取得されません。

たとえば、PendoがインストールされたCordovaアプリケーションに、デバイス固有のカメラアプリケーションを起動するボタンが含まれている場合、Pendoはそのボタンのクリック数のみを取得し、カメラアプリケーション内で発生したことは一切取得しません。

Cordova_activity_capture_example.png

ネイティブデバイスの機能を可視化する必要がある場合、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);

 

 

 

この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています