NowAnalyticsSDK インターフェイス : Android

  • リリースバージョン: Australia
  • 更新日 2026年03月12日
  • 所要時間:16分
  • NowAnalyticsSDK インターフェイスには、ユーザーアナリティクスデータのコレクションを管理するためのアナリティクスプロパティ、ユーザー設定、およびイベントを構成できる機能が用意されています。

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

    NowAnalyticsSDK - addEvent(eventName: 文字列)

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

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

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

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

    NowAnalyticsSDK - addEvent(eventName: String, props: MutableMap<String, Any>)

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

    表 : 4. パラメーター
    名前 タイプ 説明
    eventName 文字列 追加するイベントの名前。
    プロパティ MutableMap イベントのカスタムプロパティのキーと値のペア。

    イベント名、プロパティキー、および値の合計サイズは、プロパティあたり 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: String)

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

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

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

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

    NowAnalyticsSDK - appendToUserProperty(propertyName: String, item: String)

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

    表 : 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 ConfigureCallback オプション。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: 文字列, 値: 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. パラメーター
    名前 タイプ 説明
    Web ビュー 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: String)

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

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

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

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

    NowAnalyticsSDK - setListener(nowAnalyticsListener:NowAnalyticsListener?)

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

    注:
    このメソッドを呼び出すたびに、リスナーがオーバーライドされます。
    表 : 22. パラメーター
    名前 タイプ 説明
    nowAnalyticsリスナー NowAnalyticsリスナー 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. パラメーター
    名前 タイプ 説明
    consentGiven ブーリアン 現在のユーザーがアナリティクストラッキングに同意したことを示すフラグ。
    有効な値:
    • 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<String, Any>)

    現在のユーザーに対して、指定された値を持つ複数のプロパティを設定します。プロパティには、ユーザーのダッシュボードで追跡する任意のものを指定できます。

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

    表 : 28. パラメーター
    名前 タイプ 説明
    userProperty MutableMap 設定するユーザープロパティのキーと値のペア。
    サポートされている値のタイプは次のとおりです。
    • 番号
    • 文字列
    • 日付
    • 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: String, 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")