NowAnalyticsSDK インターフェイス - Android

  • リリースバージョン: Washingtondc
  • 更新日 2024年02月01日
  • 読む16読むのに数分
  • NowAnalyticsSDK インターフェイスには、ユーザー分析データのコレクションを管理するための分析プロパティ、ユーザー設定、およびイベントを構成できる機能があります。

    表 : 1. プロパティ
    名前 タイプ 説明
    構成 NowServiceConfiguration サービスに関連付ける構成。

    NowAnalyticsSDK - addEvent(eventName: 文字列)

    ユーザーが特定のレベルまたは画面に到達するなどのアプリケーションイベントを追加します。これらのイベントは、発生した順にダッシュボードに表示されます。

    表 : 2. パラメーター
    名前 タイプ 説明
    名前付きイベント名 文字列 追加するイベントの名前。
    表 : 3. 返される内容
    タイプ 説明
    なし

    次のコード例は、この関数を呼び出してアプリケーション イベントを追加する方法を示しています。

    // Add event
    NowAnalyticsSDK.getAnalyticsService().addEvent("Successful Login")

    NowAnalyticsSDK - addEvent(eventName: 文字列, props: MutableMap<文字列, 任意>)

    ユーザーが特定のレベルまたは画面に到達するなどのアプリケーションイベントを追加し、イベントのカスタムプロパティの設定を有効にします。これらのイベントは、発生した順にダッシュボードに表示されます。

    表 : 4. パラメーター
    名前 タイプ 説明
    eventName 文字列 追加するイベントの名前。
    プロパティ ミュータブルマップ イベントのカスタムプロパティのキー/値ペアです。

    イベント名、プロパティ キー、および値の合計サイズは、プロパティあたり 300 バイトを超えることはできません。この制限を超えるプロパティは無視されます。プロパティ キーにはドット ('.') またはドル記号 ('$') を含めることはできません。含まれている場合はトリミングされます。文字列は UTF-8 でエンコードされます。

    サポートされる値のタイプ:
    • 整数
    • 倍精度
    • 浮動小数点数
    • 文字列
    • URL
    • ブール
    • 日付
    表 : 5. 返される内容
    タイプ 説明
    なし

    次のコード例は、この関数を呼び出して、イベントのカスタム プロパティを含むアプリケーション イベントを追加する方法を示しています。

    // Add event with properties
    NowAnalyticsSDK.getAnalyticsService().addEvent("Open Case",
      mutableMapOf(
        "Screen Name" to "Case",
        "Case Number" to 123,
        "Case Priority" to 5
      )
    )

    NowAnalyticsSDK - addScreenAction(actionName: 文字列)

    カスタムアクションを追加します。これらのアクションは、セッションデータの一部としてユーザーダッシュボードに表示され、アプリケーションの画面変更を示します。

    表 : 6. パラメーター
    名前 タイプ 説明
    actionName 文字列 画面に追加するアクションの名前 ( MyButtonClick など)。
    表 : 7. 返される内容
    タイプ 説明
    なし

    次のコード例は、この関数を呼び出して現在の画面にカスタムアクションを追加する方法を示しています。

    // Add a custom action to the current screen
    NowAnalyticsSDK.getAnalyticsService().addScreenAction("MyButtonClick")

    NowAnalyticsSDK - appendToUserProperty(propertyName: 文字列, item: 文字列)

    指定されたアイテムを指定されたユーザープロパティリストに追加します。

    表 : 8. パラメーター
    名前 タイプ 説明
    propertyName 文字列 リストアイテムを追加するユーザープロパティの名前。
    アイテム 文字列 プロパティに追加するリストアイテム。
    表 : 9. 返される内容
    タイプ 説明
    なし

    次のコード例は、この関数を呼び出して、指定したリストにケースを追加する方法を示しています。

    // Append handled case to list
    NowAnalyticsSDK.getAnalyticsService().appendToUserProperty("Case Identifiers", "TASK-1")

    NowAnalyticsSDK - configure(instanceURL: URL, configureCallbacks: ConfigureCallbacks?)

    指定された ServiceNow インスタンス URL と NowAnalytics へのコールバックを構成します。

    このメソッドが呼び出されると、実際の構成が関連する ServiceNow インスタンスからフェッチされ、自動的に同期されます。

    表 : 10. パラメーター
    名前 タイプ 説明
    instanceURL URL NowAnalyticfs サービスに関連付けるインスタンスの ServiceNow URL。
    configureCallback ConfigureCallbacks オプション。インスタンスとの ServiceNow 通信中にエラーが発生した場合に実行するコールバック。このコールバックは任意の時点で呼び出すことができ、複数の理由で複数回呼び出すことができます。
    表 : 11. 返される内容
    タイプ 説明
    なし

    次のコード例は、この関数を呼び出して、指定したインスタンスを構成する方法を示しています。

    // Init NowAnalytics after NowSDK is initialized
    NowAnalyticsSDK.getAnalyticsService().configure(URL("https://my.instance.service-now.com"),
      // Optional - pass callback
      object: ConfigureCallbacks {
        override fun onFail(e: Exception) {
          // configuration failed
        }
    
        override fun onSuccess() {
          // configuration succeeded
        }
      }
    )

    NowAnalyticsSDK:deleteCurrentUserData()

    現在のユーザーのすべてのローカルおよびリモートデータを削除します。

    このメソッドはまた、現在のアクティブなユーザーの設定を解除し、今後の分析追跡からこのデバイスをオプトアウトします。
    注:
    このメソッドは、SNAnalytics サーバーへの同期呼び出しを実行します。したがって、これはサイドスレッドで実行することをお勧めします。
    表 : 12. パラメーター
    名前 タイプ 説明
    なし
    表 : 13. 返される内容
    タイプ 説明
    ブール 削除が成功したかどうかを示すフラグ。
    可能な値:
    • true:削除に成功しました。
    • false:削除に失敗しました。接続がない場合など、SNAnalytics サーバーに到達できない場合、障害が発生する可能性があります。メソッドを再試行する必要があります。

    次のコード例は、この関数を呼び出して現在のユーザーのデータを削除する方法を示しています。

    // Delete user data
    NowAnalyticsSDK.getAnalyticsService().deleteCurrentUserData()

    NowAnalyticsSDK:getTrackingConsent()

    現在のユーザーの同意応答を分析追跡に返します。

    表 : 14. パラメーター
    名前 タイプ 説明
    なし
    表 : 15. 返される内容
    タイプ 説明
    ブール 現在のユーザーがデータ収集に同意したかどうかを示すフラグ。
    可能な値:
    • true:ユーザーはデータの収集に同意しました。
    • false:ユーザーはデータの収集をオプトアウトしました。

    次のコード例は、この関数を呼び出して、分析追跡に対する現在のユーザーの同意応答を要求する方法を示しています。

    // Get the current user tracking consent value
    val curUserConsent = NowAnalytics.sharedAnalyticsService.getTrackingConsent()

    NowAnalyticsSDK - incUserProperty(propertyName: 文字列, value: Double)

    指定された数値プロパティの値を、指定された値だけ増減します。

    表 : 16. パラメーター
    名前 タイプ 説明
    propertyName 文字列 インクリメントするユーザープロパティの名前。
    value 倍精度 プロパティをインクリメントする値。値をデクリメントするには、負の値を入力します。
    表 : 17. 返される内容
    タイプ 説明
    なし

    次のコード例は、この関数を呼び出す方法を示しています。

    // Increment numeric_property_name by one
    NowAnalyticsSDK.getAnalyticsService().incUserProperty("numeric_property_name", 1.0)
    
    // Decrement numeric_property_name by one
    NowAnalyticsSDK.getAnalyticsService().incUserProperty("numeric_property_name", -1.0)

    NowAnalyticsSDK - installJavascriptInterface(webView: WebView)

    JavaScript を使用して、{@link android.webkit.WebView} 内から javaScript.SNMobileAnalytics メソッドを呼び出すことができるようにします。

    表 : 18. パラメーター
    名前 タイプ 説明
    Webview WKWebView 添付先の {@link android.webkit.WebView}。
    表 : 19. 返される内容
    タイプ 説明
    なし

    次のコード例は、この関数を呼び出して javaScript.SNMobileAnalytics メソッドの呼び出しを有効にする方法を示しています。

    // Register JS object inside the web page
    // This creates an object called 'SNMobileAnalytics' on JS that has the following methods:
    // SNMobileAnalytics.setUserId(userId)                 
    //   example: SNMobileAnalytics.setUserId("John Doe")
    // SNMobileAnalytics.startScreen(screenName)
    //   example: SNMobileAnalytics.startScreen("WelcomeScreen")
    // SNMobileAnalytics.addScreenAction(actionName)
    //   example: SNMobileAnalytics.addScreenAction("MyButtonClick")
    // SNMobileAnalytics.addEvent(eventName, properties)
    //   example: SNMobileAnalytics.addEvent("Successful Login")
    //                                                               
    SNMobileAnalytics.addEvent("Successful Login", JSON.stringify({"Screen Name": "Case", "Case Number": "123", "Case Priority": 5}))
    NowAnalyticsSDK.getAnalyticsService().installJavascriptInterface(webView)

    NowAnalyticsSDK - removeUserProperty(propertyName: 文字列)

    現在のユーザーの指定されたプロパティを削除します。

    表 : 20. パラメーター
    名前 タイプ 説明
    propertyName 文字列 削除するユーザープロパティの名前。
    表 : 21. 返される内容
    タイプ 説明
    なし

    次のコード例は、この関数を呼び出して "Temp Cases" プロパティを削除する方法を示しています。

    // Remove unnecessary property
    NowAnalyticsSDK.getAnalyticsService().removeUserProperty("Temp Cases")

    NowAnalyticsSDK - setListener(nowAnalyticsListener: NowAnalyticsListener?)

    セッションの変更や画面の自動検出など、NowAnalytics のイベントにリスナーを設定します。

    注:
    このメソッドを呼び出すたびに、リスナーがオーバーライドされます。
    表 : 22. パラメーター
    名前 タイプ 説明
    nowAnalyticsListener NowAnalyticsListener NowAnalytics がセッションイベントを通知するインターフェイス。
    • onNowAnalyticsScreenDetected:NowAnalytics が画面を自動的に検出したときに呼び出されます。
    • onNowAnalyticsSessionEnded:セッションの終了後に呼び出されます。
    • onNowAnalyticsSessionEnding:セッションが終了する直前に呼び出され、セッションが終了しないようにすることができます。
    • onNowAnalyticsSessionStarted:セッションが開始されたときに呼び出されます。
    • onNowAnalyticsSessionStarting:セッションが開始される直前に呼び出され、セッションが開始されないようにすることができます。
    表 : 23. 返される内容
    タイプ 説明
    なし

    次のコード例は、この関数を呼び出して NowAnalyticsListener() を設定する方法を示しています。

    // From anywhere in the code you can register the delegate
    NowAnalyticsSDK.getAnalyticsService().setListener(NowAnalyticsListener())

    NowAnalyticsSDK - setTrackingConsent(consentGiven: ブール)

    分析追跡に対する現在のユーザーの同意応答を設定します。

    表 : 24. パラメーター
    名前 タイプ 説明
    同意を与えられた ブール 分析の追跡に対する現在のユーザーの同意を示すフラグ。
    有効な値:
    • true:ユーザーはデータの追跡に同意しました。
    • false:ユーザーはデータの追跡をオプトアウトしました。
    表 : 25. 返される内容
    タイプ 説明
    なし

    次のコード例は、この関数を呼び出して、分析追跡に対する現在のユーザーの同意応答を設定する方法を示しています。

    // Enable tracking consent
    NowAnalyticsSDK.getAnalyticsService().setTrackingConsent(true)

    NowAnalyticsSDK - setUserId(userId: 文字列)

    アプリケーション固有のユーザー識別子を設定します。現在のユーザーをログアウトするには nil を渡します。

    表 : 26. パラメーター
    名前 タイプ 説明
    userId 文字列 アプリケーション固有の一意のユーザー識別子。この識別子は、ダッシュボードでそのユーザーのレポートを集計するために使用されます。
    表 : 27. 返される内容
    タイプ 説明
    なし

    次のコード例は、この関数を呼び出して、アプリケーション固有のユーザー識別子を "John Doe" に設定する方法を示しています。

    // Set User Id for proper identification
    NowAnalyticsSDK.getAnalyticsService().setUserId("John Doe")

    NowAnalyticsSDK - setUserProperties(userProperties: MutableMap<文字列, 任意>)

    現在のユーザーの指定された値を持つ複数のプロパティを設定します。プロパティは、ユーザーのダッシュボードで追跡するものであれば何でもかまいません。

    現在のユーザーを設定するには、関数を呼び出します NowAnalyticsSDK - setUserId(userId: 文字列)

    表 : 28. パラメーター
    名前 タイプ 説明
    userProperties ミュータブルマップ 設定するユーザープロパティのキーと値のペア。
    サポートされる値のタイプ:
    • 番号
    • 文字列
    • 日付
    • URL
    • Null
    表 : 29. 返される内容
    タイプ 説明
    なし

    次のコード例は、この関数を呼び出して、現在のユーザーの複数のプロパティを設定する方法を示しています。

    // Add several properties at once
    NowAnalyticsSDK.getAnalyticsService().setUserProperties(
      mutableMapOf(
        "Cases Handled" to 100,
        "Last Login" to Date(),
        "Is Remote" to true,
        "Profile URL" to URL("https://www.servicenow.com")
      )
    )

    NowAnalyticsSDK - setUserProperty(propertyName: 文字列, propertyValue: 任意)

    指定されたプロパティを現在のユーザーの指定された値で設定します。プロパティは、ユーザーのダッシュボードで追跡するものであれば何でもかまいません。

    現在のユーザーを設定するには、関数を呼び出します NowAnalyticsSDK - setUserId(userId: 文字列)

    表 : 30. パラメーター
    名前 タイプ 説明
    propertyName 文字列 設定するユーザープロパティの名前。
    value 任意 ユーザープロパティに設定する値。
    サポートされる値のタイプ:
    • 番号
    • 文字列
    • 日付
    • URL
    • Null
    表 : 31. 返される内容
    タイプ 説明
    なし

    次のコード例は、この関数を呼び出して、現在のユーザーのプロパティ "Role" を "Admin" に設定する方法を示しています。

    // Set the "Role" property of the user to "Admin"
    NowAnalyticsSDK.getAnalyticsService().setUserProperty("Role", "Admin")

    NowAnalyticsSDK - startScreen(screenName: 文字列)

    関連する画面が最初に UI に表示された時刻をログに記録します。

    通常、このメソッドはアクティビティの onResume() メソッドから呼び出します。

    表 : 32. パラメーター
    名前 タイプ 説明
    名前付きの screenName 文字列 開始時刻を記録する画面の名前 ( WelcomeScreen など)。これは、画面として定義し、分析ダッシュボードに表示/集計するものであれば何でもかまいません。
    表 : 33. 返される内容
    タイプ 説明
    なし

    次のコード例は、この関数を呼び出して "WelcomeScreen" の表示の開始時刻を設定する方法を示しています。

    // Mark the appearance starting time of a screen
    // This method should be usually called from the onResume() method
    NowAnalyticsSDK.getAnalyticsService().startScreen("WelcomeScreen")