Exiba páginas da web hospedadas em seu ServiceNow instância
Você pode exibir páginas da web hospedadas em seu ServiceNow instância em seu nativo Android aplicação.
. Mobile SDK fornece manipulação contínua da autenticação necessária e do gerenciamento de sessão, enquanto o fornece NowWebSDK A API fornece a funcionalidade necessária para lidar com páginas que residem no ServiceNow instância. Essas páginas da web têm todas as interações dinâmicas possíveis no ServiceNow plataforma.
Para usar esses recursos, você deve primeiro criar uma instância do NowWebService . Para fazer isso, você deve chamar MakeWebService() E forneça o URL para seu ServiceNow e um já inicializado NowSDK . Além disso, você deve ter importado NowWeb em sua aplicação. Você deve ter uma referência ao NowWebService enquanto você estiver usando NowWeb serviço.
A seguir, é mostrado um exemplo de como criar um objeto NowWebService:
/**
* Helper class used to handle different Now service instances.
*/
@Singleton
class SdkManager @Inject constructor() {
private var nowWebService: NowWebService? = null
/**
* Create the NowWebService once in the lifetime of the application inside the Application class or
* another manager class that will be injected into other classes via dagger/hilt.
* NowWebService should be created after initializing the NowSDK
*/
suspend fun getNowWebService(): NowWebService? {
if (nowWebService != null) return nowWebService
return NowWebSDK.makeWebService(URL("https://instance-name.service-now.com")).getOrThrow()
.also { this.nowWebService = it }
}
}Pré-carregue páginas para melhorar o tempo de carregamento do NowWeb
Pré-carregar páginas com recursos armazenáveis em cache em segundo plano para melhorar o inicial NowWeb tempos de carregamento. O exemplo a seguir mostra como usar o. WebService.preloadWebCache() função para pré-carregar o. mesp página. Este método usa uma lista de URIs para obter previamente mais páginas.
suspend fun preloadNowWeb() {
val webService = sdkmanager.getNowWebService()
webService.preloadWebCache(listOf(URI("mesp")))
}
Crie exibições para exibir conteúdo da Web
Depois de instanciar uma instância de NowWebService , você pode usá-lo para iniciar uma atividade para exibir páginas da web hospedadas em seu ServiceNow instância.
O exemplo a seguir mostra como iniciar uma atividade do NowWeb:
//Activity that will start the NowWeb
class MainActivity : AppCompatActivity() {
@Inject
lateinit var sdkManager: SdkManager
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// Start NowWeb
lifecycleScope.launch {
sdkManager.getNowWebService()?.launch(this@MainActivity, URL("https://instance-name.service-now.com"), object : NowWebTheme{})
}
}
}Neste exemplo, urlÉ o URL da página inicial a ser carregada na exibição. Este URL deve apontar para uma página hospedada no especificado ServiceNow instância.
Suporte ao tema de cores para elementos de IU do NowWeb
Você pode especificar um tema de cor personalizado que se aplica a todos os elementos de IU em uma exibição ao chamar o NowWebService iniciar () método. Para criar este tema de cor personalizado, crie um tipo que implemente o. NowWebTheme e passe-o no parâmetro de tema do NowWebService.launch() chamada.
suspend fun launchNowWeb() {
val webService = getNowWebService()
val webTheme = object : NowWebTheme {
override val brand: Int
get() = Color.BLUE
override val textPrimary: Int
get() = Color.BLACK
//Override remaining theme colors
}
webService?.launch(activity, URL("https://instance-name.service-now.com"), webTheme)
}Para obter informações adicionais sobre como aplicar temas de cores em uma exibição da Web, consulte NowUIColoring para o tema NowWebTheme e NowChatTheme.