---
sourceDocument: Référence de l’API Xanadu
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/fr-FR/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - fr-FR

ft:publication_title :

    - Référence de l’API Xanadu

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# Affichez les pages Web hébergées sur votre ServiceNow instance

# Affichez les pages Web hébergées sur votre ServiceNow instance {#ariaid-title1}

* Rversion finale: Xanadu
* 
* Mis à jour 1 août 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 2 minutes de lecture

Vous pouvez afficher les pages Web hébergées au sein de votre ServiceNow instance dans votre application native Android .
L'fournit Mobile SDK une gestion transparente de l'authentification requise et de la gestion des sessions, tandis que l'API [NowWebSDK](https://servicenow-prod.fluidtopics.net/EsH7bhRo5k0RGV~lOXVsag#NowWebSDKAndroidAPI "La classe NowWebSDK fournit une fonction unique qui vous permet de charger des pages Web hébergées sur votre ServiceNow instance dans une vue Web native et Cabrillo. Il gère automatiquement l’authentification de l’utilisateur et la gestion des sessions au lieu de forcer les utilisateurs à se connecter à l’instance via une page Web de connexion.") fournit les fonctionnalités requises pour gérer les pages résidant sur votre ServiceNow instance. Ces pages web ont toutes les interactions dynamiques qui sont possibles sur la ServiceNow plateforme.

Pour utiliser ces fonctionnalités, vous devez d'abord créer une instance de NowWebService. Pour ce faire, vous devez appeler la méthode [makeWebService()](https://servicenow-prod.fluidtopics.net/EsH7bhRo5k0RGV~lOXVsag#NWebSDK-makeWebService_S_S_S_S "Crée un service NowWeb.") et fournir l'URL à votre ServiceNow instance ainsi qu'un `NowSDK` déjà initialisé. En outre, vous devez avoir importé `NowWeb` dans votre application. Vous devez conserver une référence au NowWebService aussi longtemps que vous utilisez le service `NowWeb` .

L'exemple suivant montre comment créer un objet 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écharger les pages pour améliorer le temps de chargement de NowWeb

Vous pouvez précharger des pages avec des ressources pouvant être mises en cache en arrière-plan pour améliorer les temps de chargement NowWeb initiaux. L'exemple suivant montre comment utiliser la fonction webService.preloadWebCache() pour précharger la page `mesp` . Cette méthode utilise une liste d'URI pour pré-extraire plus de pages.

    suspend fun preloadNowWeb() {
      val webService = sdkmanager.getNowWebService()
      webService.preloadWebCache(listOf(URI("mesp")))
    }

## Créer des vues pour afficher du contenu Web

Une fois que vous avez instancié une instance de NowWebService, vous pouvez l'utiliser pour lancer une activité afin d'afficher les pages Web hébergées sur votre ServiceNow instance.

L'exemple suivant montre comment lancer une activité 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{})
        }
      }
    }

Dans cet exemple, url il s'agit de l'URL de la page initiale à charger dans la vue. Cette URL doit pointer vers une page hébergée sur l'instance spécifiée ServiceNow .

## Prise en charge du thème de couleur pour les éléments d'interface utilisateur NowWeb

Vous pouvez spécifier un thème de couleur personnalisé qui s'applique à tous les éléments d'interface utilisateur au sein d'une vue lors de l'appel de la méthode launch () NowWebService. Pour créer ce thème de couleur personnalisé, créez un type qui implémente l'interface NowWebTheme et transmettez-le dans le paramètre de thème de l'appel NowWebService.launch().  

    lifecycleScope.launch {
      sdkManager.getNowWebService()?.launch(this@MainActivity, URL("https://instance-name.service-now.com"), object : NowWebTheme {
        override val brand: NowUIAdaptiveColor
          // Setting lightColor only. For dark theme default color will be used
          get() = NowUIAdaptiveColor(lightColor = Color.BLACK)

        override val primary: NowUIAdaptiveColor
          // Setting both lightColor and darkColor
          get() = NowUIAdaptiveColor(lightColor = Color.BLACK, darkColor = Color.WHITE)

        // Override the rest of color variables
      })
    }

Pour en savoir plus sur l'application de thèmes de couleur dans une webview, reportez-vous à la rubrique [Utiliser NowUIColoring pour le thème NowWebTheme et NowChatTheme](https://servicenow-prod.fluidtopics.net/hCa2YsqhhYebmJEpTSevJQ "L’interface NowUIColoring contient toutes les couleurs utilisées par tous les modules NowSDK.").

