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 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 et recherchez la fonction func loadUrl()
dans la classe final class SwiftUIWebViewModel: ObservableObject
. 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)")
}
L’API AEPEdgeIdentity.Identity.getUrlVariables
configure les variables pour que l’URL contienne toutes les informations pertinentes, telles que l’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 l’API Identity.getUrlVariables
dans le guide de référence de l’API d’extension d’identité pour Edge Network.
Valider
Pour exécuter le code :
-
Consultez la section instructions de configuration pour connecter votre simulateur ou périphérique à Assurance.
-
Accédez aux Paramètres dans l’application
-
Appuyez sur le bouton View… pour afficher le Terms of Use.
{width="300"} {width="300"}
-
Dans l’interface utilisateur d’assurance, recherchez l’événement Edge Identity Response URL Variables du fournisseur com.adobe.griffon.mobile .
-
Sélectionnez l’événement et passez en revue le champ urlvariable dans l’objet ACPExtensionEventData, confirmant que les paramètres suivants sont présents dans l’URL :
adobe_mc
,mcmid
etmcorgid
.Vous trouverez ci-dessous un exemple de champ
urvariables
:-
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 : Identity