Pendoを直接ウェブで実装している場合、インストールスクリプトにadditionalApiKeys:[]を含めることで、1つのプロダクトから複数のPendoアプリケーションにイベントデータを送信できます。これらのアプリケーションは、同じサブスクリプションに属していてもいなくてもかまいません。
ユースケースの例
1つのインストールスクリプトから複数のPendoアプリケーションにレポートを送信する場合は、additionalApiKeysを使用します。一般的なシナリオには、以下のようなものがあります。
-
共有プラットフォームまたは複数プロダクト企業 — 1つのコアWebアプリが複数のプロダクトまたはビジネスユニットに対応し、それぞれが個別のPendoアプリケーションとして追跡されます。
additionalApiKeysを追加すると、コードベース間でインストールスクリプトを複製することなく、そのすべてに使用状況データを送信できます。 -
ベンダー、OEM、またはホワイトラベルのプロダクト — ソフトウェアベンダーは、自社のプロダクトを顧客の環境に組み込みます。ベンダーは自社のPendoサブスクリプションでアナリティクスを利用したいと考えており、顧客は自社のサブスクリプションで同じ使用状況データを利用したいと考えています。
additionalApiKeysを使用すると、両方のサブスクリプションが1つのインストールから同じイベントストリームを受信できます。
直接WebインストールではなくPendo Launcher(ブラウザ拡張機能)を使用する場合、複数のサブスクリプションにデータを送信することも可能です(たとえば、企業が地域や事業部門ごとに個別のPendoサブスクリプションを持っている場合など)。これには、この記事で説明しているインストールスクリプトではなく、別の設定パス(Launcher管理設定)が使用されます。詳細については、「複数のサブスクリプションへのデータ送信」を参照してください。
このadditionalApiKeys設定は、各プロダクトが独自のアプリケーションとPublic App IDを持つマルチアプリサブスクリプションとは異なります。すべてのPendoサブスクリプションにはデフォルトのアプリケーションがあり、追加のアプリケーションを含めることができます。Pendoのアプリケーションは一般的に、単体プロダクト、またはより複雑なプロダクトの一部で、通常、ウェブ、iOS、Androidなどの単一プラットフォームに対応しています。新しいプロダクトにPendoを追加する場合は、代わりにウェブアプリの追加またはモバイルアプリの追加の手順に従って新しいアプリケーションを生成してください。詳しくは、マルチアプリサブスクリプションをご覧ください。
仕組み
1つのインストールスクリプトから複数のアプリケーションにデータを送信するには、追加のパブリックアプリIDをプライマリアプリケーションのコードに追加して、インストールスクリプトを更新してください。
このデータを送信するアプリケーションは、同じデータ環境(米国、US1、EU、日本、オーストラリアのいずれか)に存在する必要があります。
管理者ユーザーは、そのアプリケーションのインストール設定でアプリケーションのインストールスクリプトを見つけることができます。
- [設定(Settings)]>[サブスクリプション設定(Subscription Settings)]>[アプリケーション(Applications)]に移動します。
- [アプリケーション(Applications)]リストからアプリケーションを選択します。
- [インストール設定(Install Settings)]タブを開きます。
インストールスクリプトには、プライマリパブリックアプリID(プライマリアプリケーション)が含まれています。パブリックアプリIDの詳細については、インストールスクリプトのコンポーネントを参照してください。
インストールスクリプトに複数のパブリックアプリIDを追加すると、同じプロダクト使用データを複数のアプリケーションに送信できます。ページ閲覧、クリック、フォーカスイベントなどのアナリティクスイベントは、一覧にあるすべてのアプリケーションに送信されます。セッション録画とクリックイベントプロパティは、プライマリアプリケーションにのみ送信されます。
ガイドもプライマリアプリケーションに依存します。ユーザーに表示されるのは、プライマリアプリケーションで設定されているガイドのみです。追加のアプリケーションのいずれかでガイドを設定しても、そのユーザーには表示されません。
たとえば、インストールスクリプトを更新する(Update the install script)にある以下のコードサンプルでは、プライマリパブリックアプリID(プライマリアプリケーション)としてPUBLIC_APP_ID_APP1を使用しています。このアプリケーションで設定されたガイドはユーザーに表示されますが、PUBLIC_APP_ID_APP2、PUBLIC_APP_ID_APP3、またはPUBLIC_APP_ID_APP4で設定されたガイドは表示されません。4つのアプリケーションすべてで、引き続きページの読み込み、クリック、およびフォーカスイベントを受信します。
インストールスクリプトを更新する
複数のアプリケーションにデータを送信するには、プライマリアプリケーションのインストールスクリプトを編集して、インストールスクリプトのpendo.initialize({})のメソッド呼び出し内にadditionalApiKeys:[]を含めます。以下の例をご覧ください。
(function(publicAppId){ (function(p,e,n,d,o){var v,w,x,y,z;o=p[d]=p[d]||{};o._q=o._q||[]; v=['initialize','identify','updateOptions','pageLoad','track','trackAgent'];for(w=0,x=v.length;w<x;++w)(function(m){ o[m]=o[m]||function(){o._q[m===v[0]?'unshift':'push']([m].concat([].slice.call(arguments,0)));};})(v[w]); y=e.createElement(n);y.async=!0;y.src='https://cdn.pendo.io/agent/static/'+publicAppId+'/pendo.js'; z=e.getElementsByTagName(n)[0];z.parentNode.insertBefore(y,z);})(window,document,'script','pendo');
pendo.initialize({
additionalApiKeys: ['<PUBLIC_APP_ID_APP2>', '<PUBLIC_APP_ID_APP3>', '<PUBLIC_APP_ID_APP4>'],
visitor: { },
account: { }
});
})('<PUBLIC_APP_ID_APP1>');