NowAnalyticsSDK インターフェイス: Android
NowAnalyticsSDK インターフェイスには、ユーザーアナリティクスデータの収集を管理するためのアナリティクスプロパティ、ユーザー設定、およびイベントを構成できる関数が用意されています。
| 名前 | タイプ | 説明 |
|---|---|---|
| 構成 | NowServiceConfiguration | サービスに関連付ける構成。 |
NowAnalyticsSDK:addEvent(eventName:String)
ユーザーが特定のレベルまたは画面に到達するなどのアプリケーションイベントを追加します。これらのイベントは、発生した順にダッシュボードに表示されます。
| 名前 | タイプ | 説明 |
|---|---|---|
| 名前付きイベント名 | 文字列 | 追加するイベントの名前。 |
| タイプ | 説明 |
|---|---|
| なし |
次のコード例は、この関数を呼び出してアプリケーションイベントを追加する方法を示しています。
// Add event
NowAnalyticsSDK.getAnalyticsService().addEvent("Successful Login")
NowAnalyticsSDK:addEvent(eventName: String, props: MutableMap<String, Any>)
ユーザーが特定のレベルまたは画面に到達するなどのアプリケーションイベントを追加し、イベントのカスタムプロパティの設定を有効にします。これらのイベントは、発生した順にダッシュボードに表示されます。
| 名前 | タイプ | 説明 |
|---|---|---|
| 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:String)
カスタムアクションを追加します。これらのアクションは、セッションデータの一部としてユーザーダッシュボードに表示され、アプリケーションの画面変更について説明します。
| 名前 | タイプ | 説明 |
|---|---|---|
| actionName | 文字列 | 画面に追加するアクションの名前 ( MyButtonClick など)。 |
| タイプ | 説明 |
|---|---|
| なし |
次のコード例は、この関数を呼び出して現在の画面にカスタムアクションを追加する方法を示しています。
// Add a custom action to the current screen
NowAnalyticsSDK.getAnalyticsService().addScreenAction("MyButtonClick")
NowAnalyticsSDK:appendToUserProperty(propertyName: String, item: String)
指定されたアイテムを指定されたユーザープロパティリストに追加します。
| 名前 | タイプ | 説明 |
|---|---|---|
| propertyName | 文字列 | リストアイテムを追加するユーザープロパティの名前。 |
| item | 文字列 | プロパティに追加するリストアイテム。 |
| タイプ | 説明 |
|---|---|
| なし |
次のコード例は、この関数を呼び出して、指定されたリストにケースを追加する方法を示しています。
// Append handled case to list
NowAnalyticsSDK.getAnalyticsService().appendToUserProperty("Case Identifiers", "TASK-1")
NowAnalyticsSDK - configure(instanceURL: URL, configureCallbacks: ConfigureCallbacks?)
指定された ServiceNow インスタンス URL と NowAnalytics へのコールバックを構成します。
このメソッドが呼び出されると、関連付けられた ServiceNow インスタンスから実際の構成がフェッチされ、自動的に同期されます。
| 名前 | タイプ | 説明 |
|---|---|---|
| インスタンス 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: String, value: 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 メソッドを呼び出すことができるようにします。
| 名前 | タイプ | 説明 |
|---|---|---|
| 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 のイベントにリスナーを設定します。
| 名前 | タイプ | 説明 |
|---|---|---|
| nowAnalyticsリスナー | NowAnalyticsリスナー | NowAnalytics がセッションイベントについて通知するインターフェイス。
|
| タイプ | 説明 |
|---|---|
| なし |
次のコード例は、この関数を呼び出して NowAnalyticsListener() を設定する方法を示しています。
// From anywhere in the code you can register the delegate
NowAnalyticsSDK.getAnalyticsService().setListener(NowAnalyticsListener())
NowAnalyticsSDK:setTrackingConsent(consentGiven:Boolean)
アナリティクストラッキングに対する現在のユーザーの同意応答を設定します。
| 名前 | タイプ | 説明 |
|---|---|---|
| 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:文字列) 関数を呼び出します。
| 名前 | タイプ | 説明 |
|---|---|---|
| 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 | 文字列 | 設定するユーザープロパティの名前。 |
| 値 | 任意 | ユーザープロパティを設定する値。 サポートされている値タイプ:
|
| タイプ | 説明 |
|---|---|
| なし |
次のコード例は、この関数を呼び出して、現在のユーザーのプロパティ "Role" を "Admin" に設定する方法を示しています。
// Set the "Role" property of the user to "Admin"
NowAnalyticsSDK.getAnalyticsService().setUserProperty("Role", "Admin")
NowAnalyticsSDK:startScreen(screenName:String)
関連する画面が 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")