Dépannage (Legacy)
Fenêtre contextuelle simultanée du partenaire et emplacement Rokt
Contexte
Lorsqu'une fenêtre contextuelle d'un partenaire et un emplacement Rokt sont programmés pour apparaître simultanément, cela entraîne l'échec de l'affichage de l'emplacement Rokt comme prévu.
Lorsque cela se produit :
- Un utilisateur effectue un achat.
- Une fenêtre modale apparaît demandant à l'utilisateur de soumettre des commentaires ou d'autres informations soit dans l'application, soit en dehors de l'application (Apple app store).
- Simultanément, une requête à ‘execute’ de Rokt est effectuée pour tenter de charger un emplacement modal.
- La tentative d'exécution du modal Rokt échoue.
Le résultat est une réduction des impressions d'emplacement et une perte potentielle de revenus. En tant que partenaires engagés, notre objectif est d'offrir l'assistance nécessaire pour optimiser les impressions et les revenus des partenaires. Nous avons actuellement deux solutions possibles à ce problème.
Les deux solutions nécessitent une réflexion attentive sur les modifications du parcours utilisateur et un effort dédié pour mettre en œuvre la solution proposée.
Solution 1: Afficher le placement Rokt avant le modal de feedback/notation.
Le nouveau flux sera :
- Un utilisateur termine un achat.
- Une requête à l'ex écution de Rokt est effectuée et le placement Rokt s'affiche.
- Un modal apparaît demandant à l'utilisateur de soumettre un feedback soit dans l'application, soit en dehors de l'application (Apple App Store).
Action requise par le partenaire :
Implémentez la fonction onUnload de Rokt et appelez le modal de feedback/notation à l'intérieur de celle-ci.
Rokt.execute(viewName: MY_ROKT_VIEWNAME, attributes: attributes, onLoad: {
// Callback optionnel pour lorsque le placement Rokt se charge
}, onUnLoad: {
// DispatchQueue.main.async { CALL_THE_MODAL_HERE }
}, onShouldShowLoadingIndicator: {
// Callback optionnel pour afficher un indicateur de chargement
}, onShouldHideLoadingIndicator: {
// Callback optionnel pour masquer un indicateur de chargement
})
Solution 2: Afficher le placement Rokt après le modal de feedback/notation.
Le nouveau flux sera :
- Un utilisateur termine un achat.
- Un modal apparaît demandant à l'utilisateur de soumettre un feedback soit dans l'application, soit en dehors de l'application (Apple App Store).
- Après que l'utilisateur ait terminé l'interaction avec le modal, c'est-à-dire qu'il ait complété le feedback dans l'application ou soit revenu à l'application depuis l'App Store ; le placement Rokt apparaîtra.
Action requise par le partenaire.
Si le modal nécessite une saisie de l'utilisateur au sein de l'application, alors un appel à la fonction ‘execute’ de Rokt est requis après que l'utilisateur ait pris une action, c'est-à-dire complète une évaluation, sélectionne oui ou non.
Si le modal nécessite une saisie de l'utilisateur en dehors de l'application, alors l'appel à la fonction ‘execute’ de Rokt est requis après que l'utilisateur soit revenu à l'application partenaire. Veuillez utiliser la fonction suivante pour détecter si un utilisateur est revenu à l'application :
UIApplication.willEnterForegroundNotification
NotificationCenter.default.addObserver(
self,
selector: #selector(appWillEnterForeground),
name: UIApplication.willEnterForegroundNotification,
object: nil
)
@objc
private func appWillEnterForeground() {
let attributes = ["email": "j.smith@example.com",
"firstname": "Jenny",
"lastname": "Smith",
"mobile": "(555)867-5309",
"postcode": "90210",
"country": "US"]
Rokt.execute(viewName: "MY_ROKT_VIEWNAME", attributes: attributes, onLoad: {
// Callback optionnel pour lorsque le placement Rokt se charge
}, onUnLoad: {
// Callback optionnel pour lorsque le placement Rokt se décharge
}, onShouldShowLoadingIndicator: {
// Callback optionnel pour afficher un indicateur de chargement
}, onShouldHideLoadingIndicator: {
// Callback optionnel pour masquer un indicateur de chargement
})
}