Interface do NowAnalyticsSDK - Android

  • Versão de lançamento: Xanadu
  • Atualizado 1 de ago. de 2024
  • 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.

    Tabela 1. Propriedades
    Nome Tipo Descrição
    configuração NowServiceConfiguration Configuração a ser associada ao serviço.

    NowAnalyticsSDK - addEvent(eventName: cadeia de caracteres)

    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.

    Tabela 2. Parâmetros
    Nome Tipo Descrição
    eventName nomeado Cadeia de caracteres Nome do evento a ser adicionado.
    Tabela 3. Retorna
    Tipo Descrição
    Nenhum(a)

    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> )

    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.

    Tabela 4. Parâmetros
    Nome Tipo Descrição
    eventName Cadeia de caracteres Nome do evento a ser adicionado.
    props MutableMap 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
    Tabela 5. Retorna
    Tipo Descrição
    Nenhum(a)

    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)

    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.

    Tabela 6. Parâmetros
    Nome Tipo Descrição
    actionName Cadeia de caracteres Nome da ação a ser adicionada à tela, como MyButtonClick.
    Tabela 7. Retorna
    Tipo Descrição
    Nenhum(a)

    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)

    Anexa o item especificado à lista de propriedades do usuário especificada.

    Tabela 8. Parâmetros
    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 9. Retorna
    Tipo Descrição
    Nenhum(a)

    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?)

    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.

    Tabela 10. Parâmetros
    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 11. Retorna
    Tipo Descrição
    Nenhum(a)

    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()

    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.
    Tabela 12. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 13. Retorna
    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.

    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()

    Retorna a resposta de consentimento do usuário atual para acompanhamento de análise.

    Tabela 14. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 15. Retorna
    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.

    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)

    Incrementa ou decrementa o valor da propriedade numérica especificada pelo valor especificado.

    Tabela 16. Parâmetros
    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 17. Retorna
    Tipo Descrição
    Nenhum(a)

    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)

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

    Tabela 18. Parâmetros
    Nome Tipo Descrição
    WebView WKWebView O {@link Android.WebKit.WebView} ao qual será anexado.
    Tabela 19. Retorna
    Tipo Descrição
    Nenhum(a)

    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)

    Exclui a propriedade especificada para o usuário atual.

    Tabela 20. Parâmetros
    Nome Tipo Descrição
    propertyName Cadeia de caracteres Nome da propriedade do usuário a ser excluída.
    Tabela 21. Retorna
    Tipo Descrição
    Nenhum(a)

    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?)

    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.
    Tabela 22. Parâmetros
    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 23. Retorna
    Tipo Descrição
    Nenhum(a)

    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)

    Define a resposta de consentimento do usuário atual para acompanhamento de análise.

    Tabela 24. Parâmetros
    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 25. Retorna
    Tipo Descrição
    Nenhum(a)

    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)

    Define o identificador de usuário específico da aplicação. Passe nil para desconectar o usuário atual.

    Tabela 26. Parâmetros
    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 27. Retorna
    Tipo Descrição
    Nenhum(a)

    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> )

    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).

    Tabela 28. Parâmetros
    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 29. Retorna
    Tipo Descrição
    Nenhum(a)

    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)

    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).

    Tabela 30. Parâmetros
    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 31. Retorna
    Tipo Descrição
    Nenhum(a)

    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)

    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.

    Tabela 32. Parâmetros
    Nome Tipo Descrição
    screenName chamado Cadeia de caracteres Nome da tela para registrar a hora de início, como TelaDeBoas-vindas . Pode ser qualquer coisa que você queira definir como uma tela e exibir/agregar em um painel de análise.
    Tabela 33. Retorna
    Tipo Descrição
    Nenhum(a)

    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")