NowAnalyticsSDK インターフェイス - Android
NowAnalyticsSDK インターフェイスには、ユーザー分析データのコレクションを管理するための分析プロパティ、ユーザー設定、およびイベントを構成できる機能があります。
| 名前 | タイプ | 説明 |
|---|---|---|
| 構成 | NowServiceConfiguration | サービスに関連付ける構成。 |
NowAnalyticsSDK - addEvent(eventName: 文字列)
ユーザーが特定のレベルまたは画面に到達するなどのアプリケーションイベントを追加します。これらのイベントは、発生した順にダッシュボードに表示されます。
| 名前 | タイプ | 説明 |
|---|---|---|
| 名前付きイベント名 | 文字列 | 追加するイベントの名前。 |
| タイプ | 説明 |
|---|---|
| なし |
次のコード例は、この関数を呼び出してアプリケーション イベントを追加する方法を示しています。
// Add event
NowAnalyticsSDK.getAnalyticsService().addEvent("Successful Login")
NowAnalyticsSDK - addEvent(eventName: 文字列, props: MutableMap<文字列, 任意>)
ユーザーが特定のレベルまたは画面に到達するなどのアプリケーションイベントを追加し、イベントのカスタムプロパティの設定を有効にします。これらのイベントは、発生した順にダッシュボードに表示されます。
| 名前 | タイプ | 説明 |
|---|---|---|
| eventName | 文字列 | 追加するイベントの名前。 |
| プロパティ | ミュータブルマップ | イベントのカスタムプロパティのキー/値ペアです。 イベント名、プロパティ キー、および値の合計サイズは、プロパティあたり 300 バイトを超えることはできません。この制限を超えるプロパティは無視されます。プロパティ キーにはドット ('.') またはドル記号 ('$') を含めることはできません。含まれている場合はトリミングされます。文字列は UTF-8 でエンコードされます。 サポートされる値のタイプ:
|
| タイプ | 説明 |
|---|---|
| なし |
次のコード例は、この関数を呼び出して、イベントのカスタム プロパティを含むアプリケーション イベントを追加する方法を示しています。
// 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: 文字列)
カスタムアクションを追加します。これらのアクションは、セッションデータの一部としてユーザーダッシュボードに表示され、アプリケーションの画面変更を示します。
| 名前 | タイプ | 説明 |
|---|---|---|
| actionName | 文字列 | 画面に追加するアクションの名前 ( MyButtonClick など)。 |
| タイプ | 説明 |
|---|---|
| なし |
次のコード例は、この関数を呼び出して現在の画面にカスタムアクションを追加する方法を示しています。
// Add a custom action to the current screen
NowAnalyticsSDK.getAnalyticsService().addScreenAction("MyButtonClick")
NowAnalyticsSDK - appendToUserProperty(propertyName: 文字列, item: 文字列)
指定されたアイテムを指定されたユーザープロパティリストに追加します。
| 名前 | タイプ | 説明 |
|---|---|---|
| propertyName | 文字列 | リストアイテムを追加するユーザープロパティの名前。 |
| アイテム | 文字列 | プロパティに追加するリストアイテム。 |
| タイプ | 説明 |
|---|---|
| なし |
次のコード例は、この関数を呼び出して、指定したリストにケースを追加する方法を示しています。
// Append handled case to list
NowAnalyticsSDK.getAnalyticsService().appendToUserProperty("Case Identifiers", "TASK-1")
NowAnalyticsSDK - configure(instanceURL: URL, configureCallbacks: ConfigureCallbacks?)
指定された ServiceNow インスタンス URL と NowAnalytics へのコールバックを構成します。
このメソッドが呼び出されると、実際の構成が関連する ServiceNow インスタンスからフェッチされ、自動的に同期されます。
| 名前 | タイプ | 説明 |
|---|---|---|
| instanceURL | URL | NowAnalyticfs サービスに関連付けるインスタンスの ServiceNow URL。 |
| configureCallback | ConfigureCallbacks | オプション。インスタンスとの ServiceNow 通信中にエラーが発生した場合に実行するコールバック。このコールバックは任意の時点で呼び出すことができ、複数の理由で複数回呼び出すことができます。 |
| タイプ | 説明 |
|---|---|
| なし |
次のコード例は、この関数を呼び出して、指定したインスタンスを構成する方法を示しています。
// 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()
現在のユーザーのすべてのローカルおよびリモートデータを削除します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| ブール | 削除が成功したかどうかを示すフラグ。 可能な値:
|
次のコード例は、この関数を呼び出して現在のユーザーのデータを削除する方法を示しています。
// Delete user data
NowAnalyticsSDK.getAnalyticsService().deleteCurrentUserData()
NowAnalyticsSDK:getTrackingConsent()
現在のユーザーの同意応答を分析追跡に返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| ブール | 現在のユーザーがデータ収集に同意したかどうかを示すフラグ。 可能な値:
|
次のコード例は、この関数を呼び出して、分析追跡に対する現在のユーザーの同意応答を要求する方法を示しています。
// Get the current user tracking consent value
val curUserConsent = NowAnalytics.sharedAnalyticsService.getTrackingConsent()
NowAnalyticsSDK - incUserProperty(propertyName: 文字列, value: Double)
指定された数値プロパティの値を、指定された値だけ増減します。
| 名前 | タイプ | 説明 |
|---|---|---|
| propertyName | 文字列 | インクリメントするユーザープロパティの名前。 |
| value | 倍精度 | プロパティをインクリメントする値。値をデクリメントするには、負の値を入力します。 |
| タイプ | 説明 |
|---|---|
| なし |
次のコード例は、この関数を呼び出す方法を示しています。
// 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 メソッドを呼び出すことができるようにします。
| 名前 | タイプ | 説明 |
|---|---|---|
| Webview | WKWebView | 添付先の {@link android.webkit.WebView}。 |
| タイプ | 説明 |
|---|---|
| なし |
次のコード例は、この関数を呼び出して 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: 文字列)
現在のユーザーの指定されたプロパティを削除します。
| 名前 | タイプ | 説明 |
|---|---|---|
| propertyName | 文字列 | 削除するユーザープロパティの名前。 |
| タイプ | 説明 |
|---|---|
| なし |
次のコード例は、この関数を呼び出して "Temp Cases" プロパティを削除する方法を示しています。
// Remove unnecessary property
NowAnalyticsSDK.getAnalyticsService().removeUserProperty("Temp Cases")
NowAnalyticsSDK - setListener(nowAnalyticsListener: NowAnalyticsListener?)
セッションの変更や画面の自動検出など、NowAnalytics のイベントにリスナーを設定します。
| 名前 | タイプ | 説明 |
|---|---|---|
| nowAnalyticsListener | NowAnalyticsListener | NowAnalytics がセッションイベントを通知するインターフェイス。
|
| タイプ | 説明 |
|---|---|
| なし |
次のコード例は、この関数を呼び出して NowAnalyticsListener() を設定する方法を示しています。
// From anywhere in the code you can register the delegate
NowAnalyticsSDK.getAnalyticsService().setListener(NowAnalyticsListener())
NowAnalyticsSDK - setTrackingConsent(consentGiven: ブール)
分析追跡に対する現在のユーザーの同意応答を設定します。
| 名前 | タイプ | 説明 |
|---|---|---|
| 同意を与えられた | ブール | 分析の追跡に対する現在のユーザーの同意を示すフラグ。 有効な値:
|
| タイプ | 説明 |
|---|---|
| なし |
次のコード例は、この関数を呼び出して、分析追跡に対する現在のユーザーの同意応答を設定する方法を示しています。
// Enable tracking consent
NowAnalyticsSDK.getAnalyticsService().setTrackingConsent(true)
NowAnalyticsSDK - setUserId(userId: 文字列)
アプリケーション固有のユーザー識別子を設定します。現在のユーザーをログアウトするには nil を渡します。
| 名前 | タイプ | 説明 |
|---|---|---|
| userId | 文字列 | アプリケーション固有の一意のユーザー識別子。この識別子は、ダッシュボードでそのユーザーのレポートを集計するために使用されます。 |
| タイプ | 説明 |
|---|---|
| なし |
次のコード例は、この関数を呼び出して、アプリケーション固有のユーザー識別子を "John Doe" に設定する方法を示しています。
// Set User Id for proper identification
NowAnalyticsSDK.getAnalyticsService().setUserId("John Doe")
NowAnalyticsSDK - setUserProperties(userProperties: MutableMap<文字列, 任意>)
現在のユーザーの指定された値を持つ複数のプロパティを設定します。プロパティは、ユーザーのダッシュボードで追跡するものであれば何でもかまいません。
現在のユーザーを設定するには、関数を呼び出します NowAnalyticsSDK - setUserId(userId: 文字列) 。
| 名前 | タイプ | 説明 |
|---|---|---|
| userProperties | ミュータブルマップ | 設定するユーザープロパティのキーと値のペア。 サポートされる値のタイプ:
|
| タイプ | 説明 |
|---|---|
| なし |
次のコード例は、この関数を呼び出して、現在のユーザーの複数のプロパティを設定する方法を示しています。
// 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: 文字列) 。
| 名前 | タイプ | 説明 |
|---|---|---|
| propertyName | 文字列 | 設定するユーザープロパティの名前。 |
| value | 任意 | ユーザープロパティに設定する値。 サポートされる値のタイプ:
|
| タイプ | 説明 |
|---|---|
| なし |
次のコード例は、この関数を呼び出して、現在のユーザーのプロパティ "Role" を "Admin" に設定する方法を示しています。
// Set the "Role" property of the user to "Admin"
NowAnalyticsSDK.getAnalyticsService().setUserProperty("Role", "Admin")
NowAnalyticsSDK - startScreen(screenName: 文字列)
関連する画面が最初に UI に表示された時刻をログに記録します。
通常、このメソッドはアクティビティの onResume() メソッドから呼び出します。
| 名前 | タイプ | 説明 |
|---|---|---|
| 名前付きの screenName | 文字列 | 開始時刻を記録する画面の名前 ( WelcomeScreen など)。これは、画面として定義し、分析ダッシュボードに表示/集計するものであれば何でもかまいません。 |
| タイプ | 説明 |
|---|---|
| なし |
次のコード例は、この関数を呼び出して "WelcomeScreen" の表示の開始時刻を設定する方法を示しています。
// Mark the appearance starting time of a screen
// This method should be usually called from the onResume() method
NowAnalyticsSDK.getAnalyticsService().startScreen("WelcomeScreen")