---
sourceDocument: Referência de API do Xanadu
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/pt-BR/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - pt-BR

ft:publication_title :

    - Referência de API do Xanadu

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# Interface do NowAnalyticsSDK - Android

# Interface do NowAnalyticsSDK - Android {#ariaid-title1}

* Versão de lançamento: Xanadu
* 
* Atualizado 1 de ago. de 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 8 min. de leitura

A interface do NowAnalyticsSDK fornece funções que permitem configurar propriedades de análise, configurações do usuário e eventos para gerenciar uma coleção de dados de análise do usuário.
{#NowAnalyticsAndroidInterface__table_vx2_klw_5pb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| configuração | [NowServiceConfiguration](https://servicenow-prod.fluidtopics.net/jf~9lIjtHwW3MVfVkwHV9w "A classe NowServiceConfiguration permite configurar o URL da instância ServiceNow e o nome do pacote para um serviço do recurso.") | Configuração a ser associada ao serviço. |
[Tabela 1. Propriedades]

{#NowAnalyticsAndroidInterface__table_vx2_klw_5pb}

## NowAnalyticsSDK - addEvent(eventName: cadeia de caracteres) {#ariaid-title2}

Adiciona um evento de aplicação, como um usuário que atinge um nível ou tela específica. Esses eventos aparecem no painel na ordem em que ocorreram.
{#NAnaly-addEvent_S__table_ikl_dhm_tpb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| eventName nomeado | Cadeia de caracteres | Nome do evento a ser adicionado. |
[Tabela 2. Parâmetros]

{#NAnaly-addEvent_S__table_ikl_dhm_tpb} {#NAnaly-addEvent_S__table_jkl_dhm_tpb__entry__2}

| Tipo | Descrição |
|-|-|
| Nenhum(a) |   |
[Tabela 3. Retorna]

{#NAnaly-addEvent_S__table_jkl_dhm_tpb}  
O exemplo de código a seguir mostra como chamar esta função para adicionar um evento de aplicação.

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

## NowAnalyticsSDK - addEvent(eventName: cadeia de caracteres, props: MutableMap\<String, Any\> ) {#ariaid-title3}

Adiciona um evento de aplicação, como um usuário que atinge um nível ou tela específica, e permite a configuração de propriedades personalizadas no evento. Esses eventos aparecem no painel na ordem em que ocorreram.
{#NAnaly-addEvent_S_S__table_ps4_j3m_tpb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| eventName | Cadeia de caracteres | Nome do evento a ser adicionado. |
| props | [MutableMap](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/) | Pares de chave-valor de propriedade personalizada para o evento. O tamanho total do nome do evento, chave de propriedade e valor não pode exceder 300 bytes por propriedade. As propriedades que excedem esse limite são ignoradas. As chaves de propriedade não podem conter sinais de ponto ('.') ou cifrão ('$'), se contiverem, serão cortados. As cadeias de caracteres são codificadas em UTF-8. Tipos de valor compatíveis: * Inteiro * Duplo * Flutuante * Cadeia de caracteres * URL * Booliano * Data {#NAnaly-addEvent_S_S__ul_g41_kxy_spb} |
[Tabela 4. Parâmetros]

{#NAnaly-addEvent_S_S__table_ps4_j3m_tpb} {#NAnaly-addEvent_S_S__table_qs4_j3m_tpb__entry__2}

| Tipo | Descrição |
|-|-|
| Nenhum(a) |   |
[Tabela 5. Retorna]

{#NAnaly-addEvent_S_S__table_qs4_j3m_tpb}  
O exemplo de código a seguir mostra como chamar esta função para adicionar um evento de aplicação que inclui propriedades personalizadas para o evento.

    // 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: cadeia de caracteres) {#ariaid-title4}

Adiciona uma ação personalizada. Essas ações aparecem no painel do usuário como parte dos dados da sessão e descrevem uma mudança de tela em uma aplicação.
{#NAnaly-addScreenAction_S__table_mcv_4km_tpb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| actionName | Cadeia de caracteres | Nome da ação a ser adicionada à tela, como <kbd class="ph userinput">MyButtonClick</kbd>. |
[Tabela 6. Parâmetros]

{#NAnaly-addScreenAction_S__table_mcv_4km_tpb} {#NAnaly-addScreenAction_S__table_ncv_4km_tpb__entry__2}

| Tipo | Descrição |
|-|-|
| Nenhum(a) |   |
[Tabela 7. Retorna]

{#NAnaly-addScreenAction_S__table_ncv_4km_tpb}  
O exemplo de código a seguir mostra como chamar esta função para adicionar uma ação personalizada à tela atual.

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

## NowAnalyticsSDK - appendToUserProperty(propertyName: cadeia de caracteres, item: cadeia de caracteres) {#ariaid-title5}

Anexa o item especificado à lista de propriedades do usuário especificada.
{#NAnaly-appendToUserProperty_S_S__table_hnp_wgj_5pb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| propertyName | Cadeia de caracteres | Nome da propriedade do usuário à qual o item de lista será anexado. |
| item | Cadeia de caracteres | Item de lista a ser anexado à propriedade. |
[Tabela 8. Parâmetros]

{#NAnaly-appendToUserProperty_S_S__table_hnp_wgj_5pb} {#NAnaly-appendToUserProperty_S_S__table_inp_wgj_5pb__entry__2}

| Tipo | Descrição |
|-|-|
| Nenhum(a) |   |
[Tabela 9. Retorna]

{#NAnaly-appendToUserProperty_S_S__table_inp_wgj_5pb}  
O exemplo de código a seguir mostra como chamar esta função para acrescentar um caso à lista especificada.

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

## NowAnalyticsSDK - configure(instanceURL: URL, configureCallbacks: ConfigureCallbacks?) {#ariaid-title6}

Configura o URL de instância especificado ServiceNow e os retornos de chamada para o NowAnalytics.
Depois que este método é chamado, a configuração real é obtida da instância ServiceNow associada e sincronizada automaticamente.
{#NAnaly-configure_S_O__table_zhj_yhj_5pb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| instanceURL | URL | URL da instância ServiceNow a ser associada ao serviço NowAnalyticfs. |
| configurarRetornos de chamada | ConfigurarRetornos de chamada | Opcional. Retorno de chamada a ser executado sempre que houver um erro na comunicação com a instância ServiceNow. Este retorno de chamada pode ser chamado a qualquer momento e pode ser chamado várias vezes por vários motivos. |
[Tabela 10. Parâmetros]

{#NAnaly-configure_S_O__table_zhj_yhj_5pb} {#NAnaly-configure_S_O__table_a3j_yhj_5pb__entry__2}

| Tipo | Descrição |
|-|-|
| Nenhum(a) |   |
[Tabela 11. Retorna]

{#NAnaly-configure_S_O__table_a3j_yhj_5pb}  
O exemplo de código a seguir mostra como chamar esta função para configurar a instância especificada.

    // 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() {#ariaid-title7}

Exclui todos os dados locais e remotos do usuário atual.
Este método também cancela a definição do usuário ativo atual e desativa este dispositivo do acompanhamento de análise futuro.  
Nota:  
Este método executa uma chamada síncrona para os servidores SNAnalytics. Portanto, é recomendável que você execute isso em um thread lateral.
{#NAnaly-deleteCurrentUserData__table_tgk_jjj_5pb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| Nenhum |   |   |
[Tabela 12. Parâmetros]

{#NAnaly-deleteCurrentUserData__table_tgk_jjj_5pb} {#NAnaly-deleteCurrentUserData__table_ugk_jjj_5pb__entry__2}

| Tipo | Descrição |
|-|-|
| Booliano | Sinalizador que indica se a exclusão foi bem-sucedida. Valores possíveis: * verdadeiro: a exclusão foi bem-sucedida. * falso: falha na exclusão. Pode ocorrer falha se os servidores SNAnalytics não puderem ser acessados, como quando não há conectividade. O método deve ser repetido. |
[Tabela 13. Retorna]

{#NAnaly-deleteCurrentUserData__table_ugk_jjj_5pb}  
O exemplo de código a seguir mostra como chamar esta função para excluir os dados do usuário atual.

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

## NowAnalyticsSDK - getTrackingConsent() {#ariaid-title8}

Retorna a resposta de consentimento do usuário atual para acompanhamento de análise.
{#NAnaly-getTrackingConsent__table_xlm_cmj_5pb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| Nenhum |   |   |
[Tabela 14. Parâmetros]

{#NAnaly-getTrackingConsent__table_xlm_cmj_5pb} {#NAnaly-getTrackingConsent__table_ylm_cmj_5pb__entry__2}

| Tipo | Descrição |
|-|-|
| Booliano | Sinalizador que indica se o usuário atual consentiu com a coleta de dados. Valores possíveis: * verdadeiro: o usuário concordou com a coleta de dados. * falso: o usuário recusou a coleta de dados. |
[Tabela 15. Retorna]

{#NAnaly-getTrackingConsent__table_ylm_cmj_5pb}  
O exemplo de código a seguir mostra como chamar esta função para solicitar a resposta de consentimento do usuário atual para o acompanhamento de análise.

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

## NowAnalyticsSDK - incUserProperty(propertyName: cadeia de caracteres, valor: duplo) {#ariaid-title9}

Incrementa ou decrementa o valor da propriedade numérica especificada pelo valor especificado.
{#NAnaly-incUserProperty_S_D__table_nmn_zmj_5pb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| propertyName | Cadeia de caracteres | Nome da propriedade do usuário a ser incrementada. |
| valor | Duplo | Valor para incrementar a propriedade. Insira um valor negativo para diminuir o valor. |
[Tabela 16. Parâmetros]

{#NAnaly-incUserProperty_S_D__table_nmn_zmj_5pb} {#NAnaly-incUserProperty_S_D__table_omn_zmj_5pb__entry__2}

| Tipo | Descrição |
|-|-|
| Nenhum(a) |   |
[Tabela 17. Retorna]

{#NAnaly-incUserProperty_S_D__table_omn_zmj_5pb}  
O exemplo de código a seguir mostra como chamar essa função.

    // 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) {#ariaid-title10}

Habilita a chamada de métodos javaScript.SNMobileAnalytics de dentro de um {@link Android.WebKit.WebView}, usando JavaScript.
{#NAnaly-installJSInterface_O__table_cwq_14j_5pb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| WebView | WKWebView | O {@link Android.WebKit.WebView} ao qual será anexado. |
[Tabela 18. Parâmetros]

{#NAnaly-installJSInterface_O__table_cwq_14j_5pb} {#NAnaly-installJSInterface_O__table_dwq_14j_5pb__entry__2}

| Tipo | Descrição |
|-|-|
| Nenhum(a) |   |
[Tabela 19. Retorna]

{#NAnaly-installJSInterface_O__table_dwq_14j_5pb}  
O exemplo de código a seguir mostra como chamar esta função para habilitar a chamada de métodos 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: cadeia de caracteres) {#ariaid-title11}

Exclui a propriedade especificada para o usuário atual.
{#NAnaly-removeUserProp_S__table_ovp_jrj_5pb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| propertyName | Cadeia de caracteres | Nome da propriedade do usuário a ser excluída. |
[Tabela 20. Parâmetros]

{#NAnaly-removeUserProp_S__table_ovp_jrj_5pb} {#NAnaly-removeUserProp_S__table_pvp_jrj_5pb__entry__2}

| Tipo | Descrição |
|-|-|
| Nenhum(a) |   |
[Tabela 21. Retorna]

{#NAnaly-removeUserProp_S__table_pvp_jrj_5pb}  
O exemplo de código a seguir mostra como chamar esta função para remover a propriedade "Casos temporários".

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

## NowAnalyticsSDK - setListener(nowAnalyticsListener: NowAnalyticsListener?) {#ariaid-title12}

Define um ouvinte nos eventos do NowAnalytics, como mudanças de sessão e detecções automáticas de tela.
Nota:  
Cada vez que você chama este método, o ouvinte é substituído.
{#NAnaly-setListener_O__table_zsr_s3p_5qb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| Ouvinte do nowAnalytics | Ouvinte do NowAnalytics | A interface que o NowAnalytics notifica para eventos de sessão. * onNowAnalyticsScreenDetected: chamado quando o NowAnalytics detecta automaticamente uma tela. * onNowAnalyticsSessionEnded: chamado após o término de uma sessão. * onNowAnalyticsSessionEnding: chamado pouco antes de uma sessão estar prestes a terminar, permitindo que você evite que a sessão seja encerrada. * onNowAnalyticsSessionStarted: chamado quando uma sessão é iniciada. * onNowAnalyticsSessionStarting: chamado pouco antes de uma sessão estar prestes a iniciar, permitindo que você impeça que a sessão seja iniciada. |
[Tabela 22. Parâmetros]

{#NAnaly-setListener_O__table_zsr_s3p_5qb} {#NAnaly-setListener_O__table_atr_s3p_5qb__entry__2}

| Tipo | Descrição |
|-|-|
| Nenhum(a) |   |
[Tabela 23. Retorna]

{#NAnaly-setListener_O__table_atr_s3p_5qb}  
O exemplo de código a seguir mostra como chamar esta função para definir o NowAnalyticsListener().

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

## NowAnalyticsSDK - setTrackingConsent(consentGiven: booliano) {#ariaid-title13}

Define a resposta de consentimento do usuário atual para acompanhamento de análise.
{#NAnaly-setTrackingConsent_B__table_tq5_2sj_5pb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| consentimentoDado | Booliano | Sinalizador que indica o consentimento do usuário atual para acompanhamento de análise. Valores válidos: * verdadeiro: o usuário consentiu em ter seus dados rastreados. * falso: o usuário recusou o acompanhamento de seus dados. |
[Tabela 24. Parâmetros]

{#NAnaly-setTrackingConsent_B__table_tq5_2sj_5pb} {#NAnaly-setTrackingConsent_B__table_uq5_2sj_5pb__entry__2}

| Tipo | Descrição |
|-|-|
| Nenhum(a) |   |
[Tabela 25. Retorna]

{#NAnaly-setTrackingConsent_B__table_uq5_2sj_5pb}  
O exemplo de código a seguir mostra como chamar esta função para definir a resposta de consentimento do usuário atual para acompanhamento de análise.

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

## NowAnalyticsSDK - setUserId(userId: cadeia de caracteres) {#ariaid-title14}

Define o identificador de usuário específico da aplicação. Passe nil para desconectar o usuário atual.
{#NAnaly-setUserId_S__table_j3y_ctj_5pb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| userId | Cadeia de caracteres | Identificador de usuário exclusivo e específico da aplicação. Este identificador é usado para agregar relatórios para esse usuário no painel. |
[Tabela 26. Parâmetros]

{#NAnaly-setUserId_S__table_j3y_ctj_5pb} {#NAnaly-setUserId_S__table_k3y_ctj_5pb__entry__2}

| Tipo | Descrição |
|-|-|
| Nenhum(a) |   |
[Tabela 27. Retorna]

{#NAnaly-setUserId_S__table_k3y_ctj_5pb}  
O exemplo de código a seguir mostra como chamar esta função para definir o identificador de usuário específico da aplicação como "John Doe".

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

## NowAnalyticsSDK - setUserProperties(userProperties: MutableMap\<String, Any\> ) {#ariaid-title15}

Define várias propriedades com os valores especificados para o usuário atual. As propriedades podem ser qualquer coisa que você queira rastrear no painel de um usuário.
Para definir o usuário atual, chame a função [NowAnalyticsSDK - setUserId(userId: cadeia de caracteres)](https://servicenow-prod.fluidtopics.net/o0V5Y1XTSOmTPEbIp_~spA#NAnaly-setUserId_S "Define o identificador de usuário específico da aplicação. Passe nil para desconectar o usuário atual.").
{#NAnaly-setUserProperties_A__table_wqc_g5j_5pb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| userProperties | MutableMap | Pares de chave-valor das propriedades do usuário a serem definidos. Tipos de valor compatíveis: * Número * Strings * Data * URL * Nulo |
[Tabela 28. Parâmetros]

{#NAnaly-setUserProperties_A__table_wqc_g5j_5pb} {#NAnaly-setUserProperties_A__table_xqc_g5j_5pb__entry__2}

| Tipo | Descrição |
|-|-|
| Nenhum(a) |   |
[Tabela 29. Retorna]

{#NAnaly-setUserProperties_A__table_xqc_g5j_5pb}  
O exemplo de código a seguir mostra como chamar esta função para definir várias propriedades para o usuário atual.

    // 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: cadeia de caracteres, propertiesValue: qualquer) {#ariaid-title16}

Define a propriedade especificada com o valor especificado para o usuário atual. As propriedades podem ser qualquer coisa que você queira rastrear no painel de um usuário.
Para definir o usuário atual, chame a função [NowAnalyticsSDK - setUserId(userId: cadeia de caracteres)](https://servicenow-prod.fluidtopics.net/o0V5Y1XTSOmTPEbIp_~spA#NAnaly-setUserId_S "Define o identificador de usuário específico da aplicação. Passe nil para desconectar o usuário atual.").
{#NAnaly-setUserProperty_S_A__table_fzh_fvj_5pb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| propertyName | Cadeia de caracteres | Nome da propriedade do usuário a ser definida. |
| valor | Qualquer | Valor para definir a propriedade do usuário. Tipos de valor compatíveis: * Número * Strings * Data * URL * Nulo |
[Tabela 30. Parâmetros]

{#NAnaly-setUserProperty_S_A__table_fzh_fvj_5pb} {#NAnaly-setUserProperty_S_A__table_gzh_fvj_5pb__entry__2}

| Tipo | Descrição |
|-|-|
| Nenhum(a) |   |
[Tabela 31. Retorna]

{#NAnaly-setUserProperty_S_A__table_gzh_fvj_5pb}  
O exemplo de código a seguir mostra como chamar esta função para definir a propriedade "Função" como "Admin" para o usuário atual.

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

## NowAnalyticsSDK - startScreen(screenName: cadeia de caracteres) {#ariaid-title17}

Registra em log a hora em que a tela associada aparece pela primeira vez na IU.
Normalmente, você chama este método a partir do método onResume() da atividade.
{#NAnaly-startScreen_S__table_w25_vvj_5pb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| screenName chamado | Cadeia de caracteres | Nome da tela para registrar a hora de início, como <kbd class="ph userinput">TelaDeBoas</kbd>-vindas . Pode ser qualquer coisa que você queira definir como uma tela e exibir/agregar em um painel de análise. |
[Tabela 32. Parâmetros]

{#NAnaly-startScreen_S__table_w25_vvj_5pb} {#NAnaly-startScreen_S__table_x25_vvj_5pb__entry__2}

| Tipo | Descrição |
|-|-|
| Nenhum(a) |   |
[Tabela 33. Retorna]

{#NAnaly-startScreen_S__table_x25_vvj_5pb}  
O exemplo de código a seguir mostra como chamar esta função para definir a hora de início da exibição de "WelcomeScreen".

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


