Versions Compared

    Key

    • This line was added.
    • This line was removed.
    • Formatting was changed.
    Comment: Published by Scroll Versions from this space and version 20.6
    Sv translation
    languageen
    Appd tocbox

    Related pages:

    Once you have instrumented your Cordova-based application with the Cordova Plugin, you can also use the APIs to customize the data for your app that appears in the Controller UI.

    Using the Cordova Plugin SDK API

    Syntax

    To call SDK API methods, use the following syntax: window.plugins.ADEUMMobilePlugin.<method>

    Arguments

    The last two arguments for all of the SDK API methods should always be two functions. The first function should handle successful cases and the last method should handle failures.

    For example:

    Code Block
    languagejs
    window.plugins.ADEUMMobilePlugin.changeAppKey("<EUM_APP_KEY>",
        (success) => {
            this.showAlert("changeAppKey return: success");
        },
        (error) => {
            this.showAlert("changeAppKey error:" + error);
        }
    );

    Add Methods to Call SDK APIs

    To use the SDK APIs, you are recommended to create class methods that call the SDK APIs as shown below.

    Code Block
    languagejs
    export class HomePage {
        ...
        someMethod(event) {
             window.plugins.ADEUMMobilePlugin.<method>(<arg1>, <success_function>, <failure_function>);
        }
        ...
    }

    Example

    Thus, for the HomePage.js file, your HomePage class could have the method takeScreenshot that calls the SDK API method screenshot as shown here.

    Code Block
    languagejs
    export class HomePage {
        ...
        takeScreenshot(event) {
          // Call the Cordova plugin SDK methods
          window.plugins.ADEUMMobilePlugin.screenshot(
           (success) => {
            this.showAlert("crash return: success");
           },
          (error) => {
            this.showAlert("crash error:" + error);
          });
        }
        ...
    }

    Change the App Key

    To change the EUM application key, you use the method changeAppKey with the parameters below.

    Parameter NameData TypeDescription
    appKeystringThe EUM application key.
    successfunctionA user-defined function that is called when changeAppKey is successful.
    errorfunctionA user-defined function that is called when changeAppKey fails.

    For example, you could create a new method that takes a new app key and passed it to the SDK API method changeAppKey.

    Code Block
    languagejs
    changeAppKey(event, newAppKey) {
        window.plugins.ADEUMMobilePlugin.changeAppKey(newAppKey,
            (success) => {
                this.showAlert("changeAppKey return: success");
            },
            (error) => {
                this.showAlert("changeAppKey error:" + error);
            }
        );
    }
    

    Collect Additional Types of Data

    You can use methods available in the ADEUMMobilePlugin class to collect five additional types of data:

    Anchor
    info-points
    info-points
    Info Points

    Information points allow you to track how your own code is running. You can see how often a method is invoked, and how long it takes to run by calling beginCall. When the callbacks success or error are called, the call to track the info point ends.

    • beginCall(name, functionName, args, success, error)

    Parameters

    The table below describes the parameters for the two methods:

    NameTypeDescription
    namestringThe name of the file or module where the info point is being recorded.
    functionNamestringThe function that is invoking beginCall to track an info point.
    successfunctionThe user-defined callback for successful cases.
    errorfunctionThe user-defined callback for failed cases.

    Example

    For example, you can use create info points with something like the code below to determine how a method is invoked, and how long it takes to run:

    Code Block
    languagejs
    beginCall(event) {
        window.plugins.ADEUMMobilePlugin.beginCall("home.ts", "callTrackerFunction", "event",
            (tracker) => {
                tracker.reportCallEndedWithReturnValue("Return from home.ts",
                    (success) => { console.log("End call with return value success:" + success);},
                    (error) => { console.log("End call with return value error:" + error); });
                },
                (error) => {
                    console.log("Begin call error:" + error);
            }
        );
    }

    Anchor
    custom-timers
    custom-timers
    Custom Timers

    You can create custom timers to time any arbitrary sequence of events within your code, even spanning multiple methods. You create the custom timers using the SDK API methods startTimer and stopTimer.

    • startTimerWithName(name, success, error)

    • stopTimerWithName(name, success, error)

     Parameters

    The two methods take the following parameters:

    NameTypeDescription
    namestringThe name of the custom timer. Allowed characters are [A-Za-z\s0-9]. Illegal characters are replaced by their ASCII hex value.
    successfunctionThe user-defined callback for successful cases.
    errorfunctionThe user-defined callback for failed cases.

    Example

    For example, to track the time a user spends viewing a screen, the instrumentation could look like this:

    Code Block
    languagejs
    startTimer(event) {
        window.plugins.ADEUMMobilePlugin.startTimerWithName(data.name,
            (success) => {
                this.showAlert("startTimerWithName return: success");
            },
            (error) => {
                this.showAlert("startTimerWithName error:" + error);
            }
        );
    }
    stopTimer(event) {
        window.plugins.ADEUMMobilePlugin.stopTimerWithName(data.name,
            (success) => {
                this.showAlert("stopTimerWithName return: success");
            },
            (error) => {
                this.showAlert("stopTimerWithName error:" + error);
            }
        );
    }
    

    Anchor
    custom-metrics
    custom-metrics
    Custom Metrics

    You can also report custom metrics. 

    You create custom metrics with the reportMetricWithName:

    • reportMetricWithName(name, value, success, error) 

    Parameters

    The reportMetricWithName method takes the following parameters:

    NameTypeDescription
    namestringThe name of the custom metric. The metric names must consist of alphanumeric characters. Illegal characters are replaced by their ASCII hex value.
    valuenumberif value is not a whole number an error will be returned.
    successfunctionUser-defined success callback.
    errorfunctionUser-defined error callback.

    Example

    For example, the following method could be used to report custom metrics:

    Code Block
    languagejs
    reportMetric(event, data) {
        window.plugins.ADEUMMobilePlugin.reportMetricWithName(data.name, parseInt(data.value),
            (success) => {
                this.showAlert("reportMetricWithName : success");
            },
            (error) => {
                this.showAlert("reportMetricWithName error:" + error);
            }
        );
    };
    

    Anchor
    breadcrumbs
    breadcrumbs
    Breadcrumbs

    Breadcrumbs allow you to situate a crash in the context of your user's experience. Set a breadcrumb when something interesting happens. If your application crashes at some point in the future, the breadcrumb will be displayed along with the crash report. Each crash report displays the most recent 99 breadcrumbs.

    You create and leave breadcrumbs with the following SDK API method:

    • leaveBreadcrumb(breadcrumb, mode, success, error)

    Parameters

    The method leaveBreadcrumb takes the following parameters:

    NameTypeDescription
    breadcrumbstringThe string to include in the crash report and sessions. Truncated at 2048 characters; empty values are ignored.
    modenumber

    The mode determining where the breadcrumb will be displayed:

    • 0 - for crashes only
    • 1 - for crashes and sessions.

    The mode defaults to crashes if the value is not parseable.

    successfunctionThe user-defined callback for successful cases.
    errorfunctionThe user-defined callback for failed cases.

    Example

    This code example shows how to use the SDK API to leave a breadcrumb:

    Code Block
    languagejs
    breadcrumb(mode) {
          window.plugins.ADEUMMobilePlugin.leaveBreadcrumb( "breadcrumb1", mode,
         (success) => {
            this.showAlert("leaveBreadcrumb return: success");
          },
          (error) => {
            this.showAlert("leaveBreadcrumb error:" + error);
        }
    )  

    Anchor
    user-data
    user-data
    Add Custom User Data

    You can set and later remove any string key/value pair you think might be useful with the following methods:

    • setUserData(key, value, success, error)

    • removeUserData(key, success, error)

    Parameters

    The following table describes the parameters:

    NameTypeDescription
    keystringThe key identifying the key-value pair.
    valuestringThe value associated with the key.
    successfunctionThe user-defined callback for successful cases.
    errorfunctionThe user-defined callback for failed cases.

    Example

    The code example below shows how to set and remove user data with the SDK API:

    Code Block
    languagejs
    setCustomData(event, data) {
        window.plugins.ADEUMMobilePlugin.setUserData(data.name, data.value,
            (success) => {
                this.showAlert("setUserData return: success");
            },
            (error) => {
                this.showAlert("setUserData error:" + error);
            }
        );
    };
    removeUserData(event, key) {
        window.plugins.ADEUMMobilePlugin.removeUserData(key,
            (success) => {
                this.showAlert("removeUserData return: success");
            },
            (error) => {
                this.showAlert("removeUserData error:" + error);
            }
        );
    }

    Anchor
    programmatic-sessions
    programmatic-sessions
    Programmatically Control Sessions

    By default, a mobile session ends after a period of user inactivity. For example, when a user opens your application, the session begins and only ends after the user stops using the app for a set period of time. When the user begins to use the application again, a new session begins. 

    Instead of having a period of inactivity to define the duration of a session, however, you can use the following API to programmatically control when sessions begin and end.

    Code Block
    languagejs
    startNextSession(success, error)

    When you call the method startNextSession from ADEUMMobilePlugin, the current session ends and a new session begins. The API enables you to define and frame your sessions so that they align more closely with business goals and expected user flows. For example, you could use the API to define a session that tracks a purchase of a product or registers a new user.  

    Excessive use of this API will cause sessions to be throttled (excessive use is >10 calls per minute, but is subject to change). When not using the API, sessions will fall back to the default of ending after a period of user inactivity. 

    Example of a Programmatically Controlled Session

    In the example below, the current session ends and a new one begins when the check out is made.

    Code Block
    languagejs
    completeCheckout() {
        if (this.validateAddress() && this.validatePayment()){
            let loader = this.loader.create({
                content: "Completing the checkout..."
            });
            loader.present();
            return this.order.create({
              shipping_address: this.address,
              billing_address: this.address,
              cart_id: Number(this.configuration.get('cart_id'))
            })
            ...
            window.plugins.ADEUMMobilePlugin.startNextSession(
               (success) => {
                               console.log("startNextSession return: success");
                            },
               (error) => {
                               console.log("startNextSession error:" + error);
                          }
           );
    }

    Anchor
    session-frames
    session-frames
    Start and End Session Frames

    You can use Cordova Plugin to create session frames that will appear in the session activity. Session frames provide context for what the user is doing during a session. With the API, you can improve the names of user screens and chronicle user flows within a business context. 

    Use Cases

    The following are common using session frames:

    • One page performs multiple functions and you want more granular tracking of the individual functions.
    • A user flow spans multiple pages or user interactions. For example, you could use the API to create the session frames "Login", "Product Selection", and "Purchase" to chronicle the user flow for purchases.
    • You want to capture dynamic information based on user interactions to name session frames, such as an order ID.

    SessionFrame API

    The table below lists the three methods you can use with session frames. In short, you start a session frame with startSessionFrame and then use updateName and end to rename and end the session frame. 

    Method
    Parameters
    Description
    startSessionFrame(name, success, error)
    • name (string) - The name of the session frame.
    • success (function) - The user-defined success callback.
    • error (function) - The user-defined error callback.

    Use this to start and name your session frame.

    You call this method from window.plugins.ADEUMMobilePlugin.

    updateName(name, success, error)
    • name (string) - The name of the session frame.
    • success (function) - The user-defined success callback.
    • error (function) - The user-defined error callback.

    Rename the session frame name.

    You call this method from the ADEUMMobilePlugin object.

     


    end(success, error)
    • success (function) - The user-defined success callback.
    • error (function) - The user-defined error callback.

    End the session frame. 

    You call this method from the ADEUMMobilePlugin object.

    Session Frame Example

    In the following example, session frames are used to track user activity during the checkout process.

    Code Block
    languagejs
    declare var window: any;
    @Component({
        ...
    })
    export class OrderPage {
        sessionFrame: any;
        ...
       
        checkoutCartButtonClicked() {
            // The user starting to check out starts when the user clicks the checkout button
            // this may be after they have updated quantities of items in their cart, etc.
            window.plugins.ADEUMMobilePlugin.startSessionFrame("Checkout",
                (sessionFrame) => {
                    // The returned object is saved to the class property 'sessionFrame' so 
                    // the SessionFrame API methods 'updateName' and 'end' can be called from it later.
                    this.sessionFrame = sessionFrame;
                },
                (error) => {
                    console.log("startSessionFrame call error:" + error);
                 }
            );
        }
        confirmOrderButtonClicked() {
            // Once they have confirmed payment info and shipping information, and they
            // are clicking the "Confirm" button to start the backend process of checking out
            // we may know more information about the order itself, such as an Order ID.
            this.sessionFrame.updateName("Checkout: Order ID " + this.orderId, 
                (success) => { 
                    console.log("Order has been placed and sessionFrame updated:" + this.orderId); 
                },
                (error) => { 
                    console.log("Order has been placed but sessionFrame couldn't be updated because of the error " + error); 
                }
            );
        }
        processOrderCompleted() {
            // Once the order is processed, the user is done "checking out" so we end
            // the session frame.
            this.sessionFrame.end(
                (success) => { 
                    console.log("Order was completed and sessionFrame ended: " + success);
                },
                (error) => { 
                    console.log("Order was completed but sessionFrame couldn't be ended because of: " + error); 
                }
            );
        }
        checkoutCancelled() {
            // If they cancel or go back, you'll want to end the session frame also, or else
            // it will be left open and appear to have never ended.
            this.sessionFrame.end(
                (success) => { 
                    console.log("Order was cancelled and sessionFrame ended: " + success);
                },
                (error) => { 
                    console.log("Order was cancelled but sessionFrame couldn't be ended because of: " + error); 
                }
            );
        }
    } // end of export class OrderPage

    Configure and Take Screenshots

    Mobile screenshots are enabled by default. These screenshots will show up in the Sessions Details dialog.

    You can configure the Controller UI to automatically take screenshots or use the Cordova plugin to manually take a screenshot as shown below:

    Code Block
    languagejs
    screenshot(event) {
         // make a call to plugin
         console.log("screenshot click handler");
          window.plugins.ADEUMMobilePlugin.takeScreenshot(
    
         (success) => {
            this.showAlert("screenshot return: success");
          },
          (error) => {
            this.showAlert("screenshot error:" + error);
          });
    }
    Info

    This will capture everything, including personal information, so you must be cautious of when to take the screenshot. 


    Block and Unblock Screenshots

    You can also block screenshots from being taken during the execution of a code block. This just temporarily blocks screenshots from being taken until you unblock screenshots. This enables you to stop taking screenshots in situations where users are entering personal data, such as on login and account screens. 

    Code Block
    languagejs
    logInScreen(event) {
        // Block Screen while getting user input 
        window.plugins.ADEUMMobilePlugin.blockScreenshots(
            (success) => {
                console.log("blockScreenshots return: success");
                this.getUserInput();
                this.submitUserInput();
            },
            (error) => {
                console.log("blockScreenshots error:" + error);
             }
        );
        // Unblock screen and return to home page
        window.plugins.ADEUMMobilePlugin.unblockScreenshots(
            (success) => {
                console.log("unblockScreenshots return: success");
                this.homePage()
            },
            (error) => {
                console.log("unblockScreenshots error:" + error);
            }
        );
    }


    Enable Logging and Set Logging Level

    You use the method loggingLevel to enable and set the logging level. You can set logging to one of the following levels:

    ValueLogging LevelDescription
    0NoneNo logs are displayed. This level disables logging.
    1ErrorOnly error messages are displayed. This is the default logging level.
    2WarnWarning and error messages are displayed.
    3InfoWarning, errors, and developer-focused messages are displayed.
    4DebugErrors, warnings, developer information, and debugging messages are displayed.
    5VerboseErrors, warnings, developer information, debugging, and troubleshooting messages are displayed.
    6AllAll the supported log messages are displayed.

    You enable logging by setting the logging level in the instrumentation configuration. For example, in this example, you are enabling logging and setting the logging level to Info:

    Code Block
    languagejs
    window.plugins.ADEUMMobilePlugin.initWithConfiguration(
        {
            "appKey": "<EUM_APP_KEY>",
            "loggingLevel": 3
         },
         (success) => {
            this.showAlert("initWithConfiguration return: success");
         },
         (error) => {
            this.showAlert("initWithConfiguration error:" + error);
         }
    );
    Excerpt

    Cordova SDK Documentation
    Anchor
    cordova-sdk
    cordova-sdk

    For the Cordova SDK API reference documentation, see the latest JSDoc documentation or the previous versions listed below:

    Info

    The version number for the Cordova Plugin is different from that of the Controller and AppDynamics platform components. Because of this difference, see Mobile Agent Version and Deployment Support Matrix for the minimum version of the Controller and the EUM Server required for complete support of all the Cordova Plugin features.

    Sv translation
    languageja
    Appd tocbox

    On this page:

    Table of Contents
    maxLevel2
    excludeCordova SDK。*

    Related pages

    Cordova プラグインを使用して Cordova ベースのアプリケーションをインストゥルメント化すると、API を使用してコントローラの UI に表示されるアプリケーションのデータをカスタマイズすることもできます。

    Cordova プラグイン SDK API の使用

    構文

    SDK API メソッドを呼び出すには、次の構文を使用します。window.plugins.ADEUMMobilePlugin.<method>

    引き数

    すべての SDK API メソッドの最後の 2 つの引数は、常に 2 つの関数を使用する必要があります。最初の機能で成功したケースを処理し、最後の方法で障害を処理する必要があります。

    例:

    Code Block
    languagejs
    window.plugins.ADEUMMobilePlugin.changeAppKey("<EUM_APP_KEY>",
        (success) => {
            this.showAlert("changeAppKey return: success");
        },
        (error) => {
            this.showAlert("changeAppKey error:" + error);
        }
    );

    SDK API を呼び出すメソッドの追加

    SDK API を使用するには、次に示すように SDK API を呼び出すクラスメソッドを作成することをお勧めします。

    Code Block
    languagejs
    export class HomePage {
        ...
        someMethod(event) {
             window.plugins.ADEUMMobilePlugin.<method>(<arg1>, <success_function>, <failure_function>);
        }
        ...
    }

    そのため、HomePage.js ファイルの場合は、HomePage クラスに、次に示す SDK API メソッド screenshot を呼び出すメソッド takeScreenshot を含めることができます。

    Code Block
    languagejs
    export class HomePage {
        ...
        takeScreenshot(event) {
          // Call the Cordova plugin SDK methods
          window.plugins.ADEUMMobilePlugin.screenshot(
           (success) =&gt; {
            this.showAlert("crash return: success");
           },
          (error) =&gt; {
            this.showAlert("crash error:" + error);
          });
        }
        ...
    }

    アプリケーションキーの変更

    EUM アプリケーションキーを変更するには、次のパラメータを使用してメソッド changeAppKey を使用します。

    パラメータ名データ タイプ説明
    appKeystringEUM アプリケーションキー。
    success機能changeAppKey が成功したときに呼び出されるユーザ定義関数。
    error機能changeAppKey が失敗したときに呼び出されるユーザ定義関数。

    たとえば、新しいアプリケーションキーを取得して SDK API メソッド changeAppKey に渡す新しいメソッドを作成できます。

    Code Block
    languagejs
    changeAppKey(event, newAppKey) {
        window.plugins.ADEUMMobilePlugin.changeAppKey(newAppKey,
            (success) =&gt; {
                this.showAlert("changeAppKey return: success");
            },
            (error) =&gt; {
                this.showAlert("changeAppKey error:" + error);
            }
        );
    }
    

    データの追加タイプの収集

    ADEUMMobilePlugin クラスで使用可能なメソッドを使用して、次の 5 つのタイプのデータを収集できます。

    Anchor
    info-points
    info-points
    情報ポイント

    Information points allow you to track how your own code is running. メソッドが呼び出される頻度と、beginCall を呼び出して実行される時間を確認できます。コールバック success または error が呼び出されると、情報ポイントを追跡するためのコールが終了します。

    • beginCall(name, functionName, args, success, error)

    Parameters

    次の表では、2 つの方法のパラメータについて説明します。

    名前タイプ説明
    namestring情報ポイントが記録されているファイルまたはモジュールの名前。
    functionNamestring情報ポイントを追跡するために beginCall を呼び出す関数。
    success機能ユーザ定義のコールバックの成功例。
    error機能ユーザ定義のコールバックの失敗例。

    たとえば、次のようなコードを使用して情報ポイントを作成すると、メソッドの起動方法、および実行にかかる時間を決定できます。

    Code Block
    languagejs
    beginCall(event) {
        window.plugins.ADEUMMobilePlugin.beginCall("home.ts", "callTrackerFunction", "event",
            (tracker) =&gt; {
                tracker.reportCallEndedWithReturnValue("Return from home.ts",
                    (success) =&gt; { console.log("End call with return value success:" + success);},
                    (error) =&gt; { console.log("End call with return value error:" + error); });
                },
                (error) =&gt; {
                    console.log("Begin call error:" + error);
            }
        );
    }

    Anchor
    custom-timers
    custom-timers
    カスタムタイマー

    カスタムタイマーを作成して、コード内の任意のイベントシーケンスに時間をかけることができます。これには、複数のメソッドがあります。カスタムタイマーを作成するには、SDK API メソッド startTimerstopTimer を使用します。

    • startTimerWithName(name, success, error)

    • stopTimerWithName(name, success, error)

    パラメータ

    2 つのメソッドは、次のパラメータを使用します。

    名前タイプ説明
    namestringカスタムタイマーの名前。使用できる文字は [A-Za-z\s0-9] です。Illegal characters are replaced by their ASCII hex value.
    success機能ユーザ定義のコールバックの成功例。
    error機能ユーザ定義のコールバックの失敗例。

    For example, to track the time a user spends viewing a screen, the instrumentation could look like this:

    Code Block
    languagejs
    startTimer(event) {
        window.plugins.ADEUMMobilePlugin.startTimerWithName(data.name,
            (success) =&gt; {
                this.showAlert("startTimerWithName return: success");
            },
            (error) =&gt; {
                this.showAlert("startTimerWithName error:" + error);
            }
        );
    }
    stopTimer(event) {
        window.plugins.ADEUMMobilePlugin.stopTimerWithName(data.name,
            (success) =&gt; {
                this.showAlert("stopTimerWithName return: success");
            },
            (error) =&gt; {
                this.showAlert("stopTimerWithName error:" + error);
            }
        );
    }
    

    Anchor
    custom-metrics
    custom-metrics
    Custom Metrics

    カスタムメトリックをレポートすることもできます。 

    reportMetricWithName を使用してカスタムメトリックを作成します。

    • reportMetricWithName(name, value, success, error) 

    パラメータ

    reportMetricWithName メソッドは、次のパラメータを使用します。

    名前タイプ説明
    namestringカスタムメトリックの名前。メトリック名には英数字を使用する必要があります。Illegal characters are replaced by their ASCII hex value.
    valuenumber値が整数ではない場合は、エラーが返されます。
    success機能ユーザ定義の成功コールバック。
    error機能ユーザ定義のエラーコールバック。

    たとえば、次のメソッドを使用してカスタムメトリックをレポートすることができます。

    Code Block
    languagejs
    reportMetric(event, data) {
        window.plugins.ADEUMMobilePlugin.reportMetricWithName(data.name, parseInt(data.value),
            (success) =&gt; {
                this.showAlert("reportMetricWithName : success");
            },
            (error) =&gt; {
                this.showAlert("reportMetricWithName error:" + error);
            }
        );
    };
    

    Anchor
    トピックパス
    トピックパス
    トピックパス(パンくずリスト)

    Breadcrumbs allow you to situate a crash in the context of your user's experience. Set a breadcrumb when something interesting happens. If your application crashes at some point in the future, the breadcrumb will be displayed along with the crash report.  Each crash report displays the most recent 99 breadcrumbs.

    次の SDK API メソッドを使用して、トピックパスを作成して残します。

    • leaveBreadcrumb(breadcrumb, mode, success, error)

    パラメータ

    メソッド leaveBreadcrumb では、次のパラメータを使用します。

    名前タイプ説明
    breadcrumbstringクラッシュレポートおよびセッションに含める文字列。2048 文字で切り捨てられます。空の値は無視されます。
    modenumber

    トピックパスが表示される場所を決定するモードは次のとおりです。

    • 0:クラッシュのみ
    • 1:クラッシュおよびセッション用。

    値が解析できない場合、モードはデフォルトでクラッシュします。

    success機能ユーザ定義のコールバックの成功例。
    error機能ユーザ定義のコールバックの失敗例。

    次のコード例は、SDK API を使用して、トピックパスを残す方法を示しています。

    Code Block
    languagejs
    breadcrumb(mode) {
          window.plugins.ADEUMMobilePlugin.leaveBreadcrumb( "breadcrumb1", mode,
         (success) =&gt; {
            this.showAlert("leaveBreadcrumb return: success");
          },
          (error) =&gt; {
            this.showAlert("leaveBreadcrumb error:" + error);
        }
    )  

    Anchor
    user-data
    user-data
    カスタムユーザデータの追加

    次のメソッドで役立つ任意の文字列キー/値のペアを設定し、後で削除することができます。

    • setUserData(key, value, success, error)

    • removeUserData(key, success, error)

    パラメータ

    次の表で、パラメータについて説明します。

    名前タイプ説明
    keystringキーと値のペアを識別するキー。
    valuestringキーに関連付けられている値。
    success機能ユーザ定義のコールバックの成功例。
    error機能ユーザ定義のコールバックの失敗例。

    次のコード例は、SDK API を使用してユーザデータを設定および削除する方法を示しています。

    Code Block
    languagejs
    setCustomData(event, data) {
        window.plugins.ADEUMMobilePlugin.setUserData(data.name, data.value,
            (success) =&gt; {
                this.showAlert("setUserData return: success");
            },
            (error) =&gt; {
                this.showAlert("setUserData error:" + error);
            }
        );
    };
    removeUserData(event, key) {
        window.plugins.ADEUMMobilePlugin.removeUserData(key,
            (success) =&gt; {
                this.showAlert("removeUserData return: success");
            },
            (error) =&gt; {
                this.showAlert("removeUserData error:" + error);
            }
        );
    }

    Anchor
    programmatic-sessions
    programmatic-sessions
    Programmatically Control Sessions

    デフォルトでは、ユーザが非アクティブになってからモバイルセッションが終了します。たとえば、ユーザがアプリケーションを開くと、セッションは開始され、ユーザが設定した期間にアプリケーションを使用しなくなった後にのみ終了します。ユーザがアプリケーションの再使用を開始すると、新しいセッションが開始されます。 

    ただし、セッションの期間を定義するのに非アクティブな期間を設定する代わりに、次の API を使用して、セッションの開始と終了をプログラムで制御できます。

    Code Block
    languagejs
    startNextSession(success, error)

    ADEUMMobilePlugin からメソッド startNextSession を呼び出すと、現在のセッションが終了し、新しいセッションが開始されます。API を使用すると、セッションを定義してフレーム化することができます。これにより、ビジネス目標と予想されるユーザフローをより厳密に合わせることができます。たとえば、API を使用して、製品の購入を追跡するセッションを定義したり、新しいユーザを登録したりすることができます。  

    この API を過剰に使用すると、セッションが調整されます(過剰使用は 1 分あたり 10 コールを超えた場合になりますが、変更される可能性があります)。API を使用しない場合、セッションは、ユーザが非アクティブになった後、デフォルトの終了にフォールバックします。 

    プログラムによって制御されるセッションの例

    In the example below, the current session ends and a new one begins when the check out is made.

    Code Block
    languagejs
    completeCheckout() {
        if (this.validateAddress() && this.validatePayment()){
            let loader = this.loader.create({
                content: "Completing the checkout..."
            });
            loader.present();
            return this.order.create({
              shipping_address: this.address,
              billing_address: this.address,
              cart_id: Number(this.configuration.get('cart_id'))
            })
            ...
            window.plugins.ADEUMMobilePlugin.startNextSession(
               (success) => {
                               console.log("startNextSession return: success");
                            },
               (error) => {
                               console.log("startNextSession error:" + error);
                          }
           );
    }

    Anchor
    session-frames
    session-frames
    Start and End Session Frames

    セッションアクティビティに表示されるセッションフレームを作成するために、Cordova プラグインを使用できます。セッションフレームは、セッション中にユーザが実行している内容のコンテキストを提供します。API を使用すると、ビジネスコンテキスト内のユーザ画面の名前とユーザフローの記録を向上させることができます。 

    使用例

    セッションフレームの一般的な使用方法は次のとおりです。

    • 1 つのページで複数の関数を実行し、個々の関数をより詳細に追跡する必要があります。
    • ユーザフローは、複数のページまたはユーザのインタラクションに及びます。たとえば、API を使用してセッションフレーム「Login」、「Product Selection」、および「Purchase」を作成して、ユーザが購入のためにフローを記録することができます。
    • ユーザの操作に基づいて動的情報をキャプチャし、オーダー ID などのセッションフレームに名前を付けることができます。

    SessionFrame API

    The table below lists the three methods you can use with session frames. つまり、startSessionFrame を使用してセッションフレームを開始してから、updateNameend を使用してセッションフレームの名前を変更し、終了します。 

    メソッド
    パラメータ
    説明
    startSessionFrame(name, success, error)
    • name (文字列):セッションフレームの名前。
    • success(関数):ユーザ定義の成功コールバック。
    • error(関数):ユーザ定義のエラーコールバック。

    セッションフレームを開始して名前を付けるには、これを使用します。

    このメソッドは window.plugins.ADEUMMobilePlugin から呼び出します。

    updateName(name, success, error)
    • name (文字列):セッションフレームの名前。
    • success(関数):ユーザ定義の成功コールバック。
    • error (関数):ユーザ定義のエラーコールバック。

    Rename the session frame name.

    ADEUMMobilePlugin オブジェクトからこのメソッドを呼び出します。

     

     

    end(success, error)
    • success(関数):ユーザ定義の成功コールバック。
    • error (関数): ユーザ定義のエラーコールバック。

    セッションフレームを終了します。 

    ADEUMMobilePlugin オブジェクトからこのメソッドを呼び出します。

    セッションフレームの例

    次の例では、チェックアウトプロセス中にユーザアクティビティを追跡するためにセッションフレームが使用されます。

    Code Block
    languagejs
    declare var window: any;
    @Component({
        ...
    })
    export class OrderPage {
        sessionFrame: any;
        ...
       
        checkoutCartButtonClicked() {
            // The user starting to check out starts when the user clicks the checkout button
            // this may be after they have updated quantities of items in their cart, etc.
            window.plugins.ADEUMMobilePlugin.startSessionFrame("Checkout",
                (sessionFrame) =&gt; {
                    // The returned object is saved to the class property 'sessionFrame' so 
                    // the SessionFrame API methods 'updateName' and 'end' can be called from it later.
                    this.sessionFrame = sessionFrame;
                },
                (error) =&gt; {
                    console.log("startSessionFrame call error:" + error);
                 }
            );
        }
        confirmOrderButtonClicked() {
            // Once they have confirmed payment info and shipping information, and they
            // are clicking the "Confirm" button to start the backend process of checking out
            // we may know more information about the order itself, such as an Order ID.
            this.sessionFrame.updateName("Checkout: Order ID " + this.orderId, 
                (success) =&gt; { 
                    console.log("Order has been placed and sessionFrame updated:" + this.orderId); 
                },
                (error) =&gt; { 
                    console.log("Order has been placed but sessionFrame couldn't be updated because of the error " + error); 
                }
            );
        }
        processOrderCompleted() {
            // Once the order is processed, the user is done "checking out" so we end
            // the session frame.
            this.sessionFrame.end(
                (success) =&gt; { 
                    console.log("Order was completed and sessionFrame ended: " + success);
                },
                (error) =&gt; { 
                    console.log("Order was completed but sessionFrame couldn't be ended because of: " + error); 
                }
            );
        }
        checkoutCancelled() {
            // If they cancel or go back, you'll want to end the session frame also, or else
            // it will be left open and appear to have never ended.
            this.sessionFrame.end(
                (success) =&gt; { 
                    console.log("Order was cancelled and sessionFrame ended: " + success);
                },
                (error) =&gt; { 
                    console.log("Order was cancelled but sessionFrame couldn't be ended because of: " + error); 
                }
            );
        }
    } // end of export class OrderPage

    Configure and Take Screenshots

    Mobile screenshots are enabled by default. これらのスクリーンショットは Sessions Details ダイアログに表示されます。

    次に示すように、スクリーンショットを自動的に作成するか、または Cordova プラグインを使用して手動でスクリーンショットを作成するようにコントローラ UI を設定できます。

    Code Block
    languagejs
    screenshot(event) {
         // make a call to plugin
         console.log("screenshot click handler");
          window.plugins.ADEUMMobilePlugin.takeScreenshot(
    
         (success) =&gt; {
            this.showAlert("screenshot return: success");
          },
          (error) =&gt; {
            this.showAlert("screenshot error:" + error);
          });
    }
    Info

    これにより、個人情報を含むすべてがキャプチャされるため、スクリーンショットを作成するタイミングに注意する必要があります。 


    Block and Unblock Screenshots

    コードブロックの実行中にスクリーンショットが作成されるのをブロックすることもできます。This just temporarily blocks screenshots from being taken until you unblock screenshots. This enables you to stop taking screenshots in situations where users are entering personal data, such as on login and account screens. 

    Code Block
    languagejs
    logInScreen(event) {
        // Block Screen while getting user input 
        window.plugins.ADEUMMobilePlugin.blockScreenshots(
            (success) =&gt; {
                console.log("blockScreenshots return: success");
                this.getUserInput();
                this.submitUserInput();
            },
            (error) =&gt; {
                console.log("blockScreenshots error:" + error);
             }
        );
        // Unblock screen and return to home page
        window.plugins.ADEUMMobilePlugin.unblockScreenshots(
            (success) =&gt; {
                console.log("unblockScreenshots return: success");
                this.homePage()
            },
            (error) =&gt; {
                console.log("unblockScreenshots error:" + error);
            }
        );
    }

     

    ロギングの有効化とロギングレベルの設定

    You use the method loggingLevel to enable and set the logging level. ロギングは、次のいずれかのレベルに設定できます。

    ログ レベル説明
    0なしログは表示されません。 This level disables logging.
    1エラーエラーメッセージのみが表示されます。 This is the default logging level.
    2[警告(Warn)]警告メッセージとエラーメッセージが表示されます。
    3情報警告、エラー、および開発者に焦点を当てたメッセージが表示されます。
    4[デバッグ(Debug)]エラー、警告、開発者情報、およびデバッグメッセージが表示されます。
    5Verboseエラー、警告、開発者の情報、デバッグ、およびトラブルシューティング メッセージが表示されます。
    6すべてサポート対象のすべてのログメッセージが表示されます。

    ロギングを有効にするには、インストゥルメンテーションの構成でロギングレベルを設定します。たとえば、この例では、ロギングを有効にし、ログレベルを Info に設定します。

    Code Block
    languagejs
    window.plugins.ADEUMMobilePlugin.initWithConfiguration(
        {
            "appKey": "<EUM_APP_KEY>",
            "loggingLevel": 3
         },
         (success) => {
            this.showAlert("initWithConfiguration return: success");
         },
         (error) => {
            this.showAlert("initWithConfiguration error:" + error);
         }
    );

    Anchor
    cordova-sdk
    cordova-sdk
    Cordova SDK のドキュメント

    Cordova SDK API リファレンスのマニュアルについては、最新の JSDoc のマニュアルまたは以下に記載されている以前のバージョンを参照してください。

    Info

    Cordova プラグインのバージョン番号は、コントローラおよび AppDynamics プラットフォーム コンポーネントのバージョン番号とは異なります。この違いがあるため、すべての Cordova プラグイン機能を完全にサポートするために必要な最小バージョンのコントローラおよび EUM サーバについては、Mobile Agent Version and Deployment Support Matrix』を参照してください。