MS D365 CEでの管理パッケージ導入

最終更新日:

このプロセスにより、Microsoft DynamicsにPendoをインストールすることができます。ただしPendoでは、[サブスクリプション]タブで拡張アプリケーションとしてMicrosoft Dynamicsを追加した後に、Pendo LauncherからPendoにアクセスすることを推奨しています。

Pendoは、MS Dynamics 365 Customer Engagement v9.1以降に、管理パッケージまたは非管理パッケージでインストールします。インストール後は、以下の手順でメタデータと対象ユーザーを特定できます。

MS D365 CEにDynamics 365パッケージをインストールする

1. MS D365 CE設定の[ソリューション(Solutions)]セクションに移動します。

Classic UIは以下のとおりです。

mceclip1.png

2. 歯車アイコン(1)から[詳細設定(Advanced Settings)]>[設定(Settings)]>[ソリューション(Solutions)]の順にクリックします

Modern UIは以下のとおりです。

mceclip2.png

3.[インポート(Import)]を選択し、提供されたPendoパッケージをMS D365 CEにインポートします。

Classic UIは以下のとおりです。

Screen_Shot_2021-11-19_at_1.10.40_PM.png

Modern UIは以下のとおりです。

Screen_Shot_2021-11-19_at_1.11.24_PM.png

4. Pendoパッケージを開き、callPendoAPIウェブリソースを編集します。

Screen_Shot_2021-11-19_at_1.12.07_PM.png

5.[テキストエディタ(Text Editor)]をクリックします。

mceclip3.png

6. Pendo APIキーをコピーして、以下の場所に貼り付けます。APIキーは[設定]>[サブスクリプション(Subscriptions)]で確認できます。

function callpendoapi() {

    'use strict';

    if (window.top.pendo) return;

    console.log('Invoking Pendo Agent');

    let agentUrl = "https://cdn.pendo.io/agent/static/<YOUR PENDO API KEY HERE>/pendo.js";

    pendo(agentUrl);

    return false;

}

function pendo(agentUrl) {

    'use strict';

    (function (p, e, n, d, o) {

        var v, w, x, y, z; o = p[d] = p[d] || {}; o._q = [];

        v = ['initialize', 'identify', 'updateOptions', 'pageLoad']; 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 = agentUrl;

        z = e.getElementsByTagName(n)[0]; z.parentNode.insertBefore(y, z);

    })(window.top, window.top.document, 'script', 'pendo');

    window.top.pendo.initialize({

        visitor: {

            id: //Globally Unique Visitor ID 

            // email:        // Recommended if using Pendo Feedback, or NPS Email

            // full_name:    // Recommended if using Pendo Feedback

            // role:         // Optional

            // You can add any additional visitor level key-values here,

            // as long as it's not one of the above reserved names.

        },

        account: {

            id: //Name Of Organization Or Department Visitor Belongs To

            // is_paying:    // Recommended if using Pendo Feedback

            // monthly_value:// Recommended if using Pendo Feedback

            // planLevel:    // Optional

            // planPrice:    // Optional

            // creationDate: // Optional

            // You can add any additional account level key-values here,

            // as long as it's not one of the above reserved names.

        }

    });

}

オプション:Dynamics 365アプリケーションに基づいてPendoを選択的に呼び出す

すべてのMS D365 CEアプリケーションではなく、MS D365 CEアプリケーションの一部でPendoを選択的に呼び出したい場合は、以下のサンプルコードをベースにcallPendoAPI関数を置き換えてください。

function callpendoapi() {

    'use strict';

    if (window.top.pendo) return;

    var globalContext = Xrm.Utility.getGlobalContext();

    globalContext.getCurrentAppProperties().then(

        function success(app) {

            console.log(app);

            // select which app will have Pendo running

            if (app.uniqueName === '<一意のMSD365アプリ名>'){

               // Load Pendo if unique name matches

               console.log('Invoking Pendo Agent on ' + app.uniqueName);

               let agentUrl = "https://cdn.pendo.io/agent/static/<YOUR PENDO API KEY HERE>/pendo.js";

               pendo(agentUrl);

            }

           else if (app.appId === '<一意のMSD365アプリID>'){

               // Load Pendo if unique ID matches

               console.log('Invoking Pendo Agent on ' + app.appId);

               let agentUrl = "https://cdn.pendo.io/agent/static/<YOUR PENDO API KEY HERE>/pendo.js";

               pendo(agentUrl);

            }
}

MS D365 CEアプリの一意のID一意の名前は、以下のようになります。

1. 上部にあるアプリ名をクリックすると、利用可能なすべてのアプリが表示されます。

mceclip4.png

2. アプリタイルの三点アイコンをクリックし、[アプリデザイナーで開く(Open In App Designer)]を選択します。

mceclip5.png

 

3. プロパティをクリックして、一意の名前を表示します。

mceclip6.png


一意のIDはURLに含まれています。「appid=」を探し、「=」と「&」の間の文字がお客様の一意のIDです。

mceclip7.png

MS D365 CEアプリの一意のIDと一意の名前は、次のコンソールコマンドで確認することができます。

Xrm.Utility.getGlobalContext().getCurrentAppProperties()

mceclip8.png

メタデータの設定

上記の手順に従って、呼び出しPendoAPI関数を編集します。

関数を編集できるようになったら、訪問者配列とアカウント配列を探します。訪問者IDは必須フィールドであり、グローバルに一意である必要があります。アカウントIDは部署や組織を指定できるため、指定することを強く推奨します。訪問者IDとアカウントIDおよびその他のメタデータに関するガイドラインと提案については、サポートドキュメントを参照してください。

function callpendoapi() {

    'use strict';

    if (window.top.pendo) return;

    console.log('Invoking Pendo Agent');

    let agentUrl = "https://cdn.pendo.io/agent/static/<YOUR PENDO API KEY HERE>/pendo.js";

    pendo(agentUrl);

    return false;

}

function pendo(agentUrl) {

    'use strict';

    (function (p, e, n, d, o) {

        var v, w, x, y, z; o = p[d] = p[d] || {}; o._q = [];

        v = ['initialize', 'identify', 'updateOptions', 'pageLoad']; 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 = agentUrl;

        z = e.getElementsByTagName(n)[0]; z.parentNode.insertBefore(y, z);

    })(window.top, window.top.document, 'script', 'pendo');

    window.top.pendo.initialize({

        visitor: {

            id: //Globally Unique Visitor ID 

            // email:        // Recommended if using Pendo Feedback, or NPS Email

            // full_name:    // Recommended if using Pendo Feedback

            // role:         // Optional

            // You can add any additional visitor level key-values here,

            // as long as it's not one of the above reserved names.

        },

        account: {

            id: //Name Of Organization Or Department Visitor Belongs To

            // is_paying:    // Recommended if using Pendo Feedback

            // monthly_value:// Recommended if using Pendo Feedback

            // planLevel:    // Optional

            // planPrice:    // Optional

            // creationDate: // Optional

            // You can add any additional account level key-values here,

            // as long as it's not one of the above reserved names.

        }

    });

}

訪問者のメタデータの提案はこちらでご覧いただけます。以下に例を示します。

        visitor: {

            id: Xrm.Utility.getGlobalContext().userSettings.userId,

        },

アカウントのメタデータの提案はこちらでご覧いただけます。以下に例を示します。

        account: {

            id: Xrm.Utility.getGlobalContext().organizationSettings.organizationId,

        }

メタデータフィールドを保存したら、Pendoソリューションを公開します。

mceclip9.png

Pendoがインストールされていることを確認する

Pendoが起動しているかどうかは、こちらの手順で確認することができます。Pendoを初期化するために、MSD365のインスタンスから一度ログアウトし、再度ログインする必要がある場合があります。