Gestion des WebViews
Découvrez comment gérer la collecte de données avec WebViews dans une application mobile.
Conditions préalables
- Création et exécution de l’application avec les SDK installés et configurés.
Objectifs d'apprentissage
Dans cette leçon, vous allez :
- Comprenez pourquoi vous devez prendre en compte de manière particulière les WebViews dans votre application.
- Comprendre le code requis pour éviter les problèmes de suivi.
Problèmes de suivi potentiels
Si vous envoyez des données à partir de la partie native de l’application et d’une vue WebView au sein de l’application, chacune génère son propre identifiant Experience Cloud (ECID), ce qui entraîne des accès déconnectés et une augmentation des données de visite/visiteur. Vous trouverez plus d’informations sur l’ECID dans la section Présentation d’ECID.
Pour résoudre cette situation indésirable, il est important de transmettre l’ECID de l’utilisateur de la partie native de votre application à un WebView que vous souhaitez peut-être utiliser dans votre application.
L’extension AEP Edge Identity utilisée dans WebView collecte l’ECID actuel et l’ajoute à l’URL au lieu d’envoyer une demande d’Adobe d’un nouvel ID. L’implémentation utilise ensuite cet ECID pour demander l’URL.
Mise en œuvre
Accédez à Luma > Luma > Views > Info > TermsOfServiceSheet, puis localisez la variable func loadUrl()
dans la fonction final class SwiftUIWebViewModel: ObservableObject
classe . Ajoutez l’appel suivant pour gérer l’affichage web :
// Handle web view
AEPEdgeIdentity.Identity.getUrlVariables {(urlVariables, error) in
if let error = error {
print("Error with Webview", error)
return;
}
if let urlVariables: String = urlVariables {
urlString.append("?" + urlVariables)
guard let url = URL(string: urlString) else {
return
}
DispatchQueue.main.async {
self.webView.load(URLRequest(url: url))
}
}
Logger.aepMobileSDK.info("Successfully retrieved urlVariables for WebView, final URL: \(urlString)")
}
La variable AEPEdgeIdentity.Identity.getUrlVariables
L’API configure les variables pour que l’URL contienne toutes les informations pertinentes, comme ECID, et plus encore. Dans cet exemple, vous utilisez un fichier local, mais les mêmes concepts s’appliquent aux pages distantes.
Vous pouvez en savoir plus sur les Identity.getUrlVariables
de l’API Guide de référence de l’API d’extension Identity for Edge Network.
Valider
Pour exécuter le code :
-
Consultez la section instructions de configuration pour connecter le simulateur ou l’appareil à Assurance.
-
Accédez au Paramètres dans l’application
-
Appuyez sur le bouton View… pour afficher le Terms of Use.
+-------------+ | img-md | +=============+ | w-300 | +-------------+ | | +-------------++-------------+ | img-md |
w-300 -
Dans l’interface utilisateur d’Assurance, recherchez le Variables d’URL de réponse Edge Identity de l’événement com.adobe.griffon.mobile fournisseur.
-
Sélectionnez l’événement et passez en revue la variable urlvariable dans le champ ACPExtensionEventData , confirmant que les paramètres suivants sont présents dans l’URL :
adobe_mc
,mcmid
, etmcorgid
.Un exemple
urvariables
est visible ci-dessous :-
Original (avec caractères avec échappement)
code language-html adobe_mc=TS%3D1636526122%7CMCMID%3D79076670946787530005526183384271520749%7CMCORGID%3D7ABB3E6A5A7491460A495D61%40AdobeOrg
-
Beautified
code language-html adobe_mc=TS=1636526122|MCMID=79076670946787530005526183384271520749|MCORGID=7ABB3E6A5A7491460A495D61@AdobeOrg
-
Malheureusement, le débogage de la session web est limité. Par exemple, vous ne pouvez pas utiliser l’Adobe Experience Platform Debugger dans votre navigateur pour continuer le débogage de la session d’affichage Web.
VisitorAPI.js
.Suivant : Identité