NowAnalyticsSDK インターフェイス - Android
NowAnalyticsSDK インターフェイスには、ユーザーアナリティクスデータのコレクションを管理するためのアナリティクスプロパティ、ユーザー設定、およびイベントを構成できる機能が用意されています。
| 名前 | タイプ | Description (説明) |
|---|---|---|
| 構成 | NowServiceConfiguration | サービスに関連付ける構成。 |
NowAnalyticsSDK - addEvent(eventName:文字列)
ユーザーが特定のレベルまたは画面に到達するなど、アプリケーションイベントを追加します。これらのイベントは、発生した順序でダッシュボードに表示されます。
| 名前 | タイプ | Description (説明) |
|---|---|---|
| 名前付き eventName | 文字列 | 追加するイベントの名前。 |
| タイプ | 説明 |
|---|---|
| なし |
次のコード例は、この関数を呼び出してアプリケーション イベントを追加する方法を示しています。
// Add event
NowAnalyticsSDK.getAnalyticsService().addEvent("Successful Login")
NowAnalyticsSDK - addEvent(eventName:文字列、props:MutableMap<String、Any>)
ユーザーが特定のレベルまたは画面に到達したなどのアプリケーションイベントを追加し、イベントのカスタムプロパティの設定を有効にします。これらのイベントは、発生した順序でダッシュボードに表示されます。
| 名前 | タイプ | 説明 |
|---|---|---|
| eventName | 文字列 | 追加するイベントの名前。 |
| プロパティ | MutableMap (ミュータブルマップ) | イベントのカスタムプロパティのキーと値のペア。 イベント名、プロパティキー、および値の合計サイズは、プロパティあたり 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: String)
カスタムアクションを追加します。これらのアクションは、セッションデータの一部としてユーザーダッシュボードに表示され、アプリケーションの画面変更を示します。
| 名前 | タイプ | 説明 |
|---|---|---|
| actionName | 文字列 | 画面に追加するアクションの名前 ( MyButtonClick など)。 |
| タイプ | 説明 |
|---|---|
| なし |
次のコード例は、この関数を呼び出して、現在の画面にカスタム アクションを追加する方法を示しています。
// Add a custom action to the current screen
NowAnalyticsSDK.getAnalyticsService().addScreenAction("MyButtonClick")
NowAnalyticsSDK - appendToUserProperty(propertyName:文字列、item:文字列)
指定されたユーザープロパティリストに指定されたアイテムを追加します。
| 名前 | タイプ | 説明 |
|---|---|---|
| propertyName | 文字列 | リストアイテムを追加するユーザープロパティの名前。 |
| item | 文字列 | プロパティに追加するリストアイテム。 |
| タイプ | 説明 |
|---|---|
| なし |
次のコード例は、この関数を呼び出して、指定されたリストにケースを追加する方法を示しています。
// Append handled case to list
NowAnalyticsSDK.getAnalyticsService().appendToUserProperty("Case Identifiers", "TASK-1")
NowAnalyticsSDK - configure(instanceURL: URL, configureCallbacks: ConfigureCallbacks?)
指定された ServiceNow インスタンス URL とコールバックを NowAnalytics に設定します。
このメソッドが呼び出されると、関連付けられた ServiceNow インスタンスから実際の構成がフェッチされ、自動的に同期されます。
| 名前 | タイプ | Description (説明) |
|---|---|---|
| インスタンス URL | URL | NowAnalyticfs サービスに関連付ける ServiceNow インスタンスの URL。 |
| configureCallback | ConfigureCallback | オプション。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:文字列、値:Double)
指定された数値プロパティの値を指定された値だけインクリメントまたはデクリメントします。
| 名前 | タイプ | 説明 |
|---|---|---|
| propertyName | 文字列 | インクリメントするユーザープロパティの名前。 |
| 値 | 倍精度 | プロパティをインクリメントする値。値をデクリメントするには、負の値を入力します。 |
| タイプ | 説明 |
|---|---|
| なし |
次のコード例は、この関数を呼び出す方法を示しています。
// 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 メソッドを呼び出せるようにします。
| 名前 | タイプ | Description (説明) |
|---|---|---|
| Web ビュー | 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: String)
現在のユーザーの指定されたプロパティを削除します。
| 名前 | タイプ | 説明 |
|---|---|---|
| propertyName | 文字列 | 削除するユーザープロパティの名前。 |
| タイプ | 説明 |
|---|---|
| なし |
次のコード例は、この関数を呼び出して "Temp Cases" プロパティを削除する方法を示しています。
// Remove unnecessary property
NowAnalyticsSDK.getAnalyticsService().removeUserProperty("Temp Cases")
NowAnalyticsSDK - setListener(nowAnalyticsListener: NowAnalyticsListener?)
セッションの変更や自動画面検出などの NowAnalytics のイベントにリスナーを設定します。
| 名前 | タイプ | Description (説明) |
|---|---|---|
| nowAnalyticsリスナー | NowAnalyticsリスナー | NowAnalytics がセッションイベントについて通知するインターフェイス。
|
| タイプ | 説明 |
|---|---|
| なし |
次のコード例は、この関数を呼び出して NowAnalyticsListener() を設定する方法を示しています。
// From anywhere in the code you can register the delegate
NowAnalyticsSDK.getAnalyticsService().setListener(NowAnalyticsListener())
NowAnalyticsSDK - setTrackingConsent(consentGiven:ブール値)
現在のユーザーの同意応答をアナリティクストラッキングに設定します。
| 名前 | タイプ | Description (説明) |
|---|---|---|
| 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<String, Any>)
現在のユーザーに対して、指定された値で複数のプロパティを設定します。プロパティは、ユーザーのダッシュボードで追跡するものであれば何でもかまいません。
現在のユーザーを設定するには、 NowAnalyticsSDK - setUserId(userId:文字列) 関数を呼び出します。
| 名前 | タイプ | Description (説明) |
|---|---|---|
| ユーザープロパティ | MutableMap (ミュータブルマップ) | 設定するユーザープロパティのキーと値のペア。 サポートされている値の型:
|
| タイプ | 説明 |
|---|---|
| なし |
次のコード例は、この関数を呼び出して、現在のユーザーの複数のプロパティを設定する方法を示しています。
// 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 | 文字列 | 設定するユーザープロパティの名前。 |
| 値 | 任意 | ユーザープロパティを設定する値。 サポートされている値の型:
|
| タイプ | 説明 |
|---|---|
| なし |
次のコード例は、この関数を呼び出して、現在のユーザーのプロパティ "Role" を "Admin" に設定する方法を示しています。
// Set the "Role" property of the user to "Admin"
NowAnalyticsSDK.getAnalyticsService().setUserProperty("Role", "Admin")
NowAnalyticsSDK - startScreen(screenName:文字列)
関連する画面が UI に最初に表示された時刻をログに記録します。
通常、このメソッドはアクティビティの onResume() メソッドから呼び出します。
| 名前 | タイプ | Description (説明) |
|---|---|---|
| 名前付き 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")