iOS Mobile SDK : Notifier l'événement de produit visité

L' événement “Notifier un événement de produit visité”  sert à signaler qu'un contact a visité un produit spécifique lors de sa navigation dans l'application. Pour cela, il notifie, via le Mobile SDK, lorsqu'un utilisateur accède à une page de détail d'un produit en utilisant la méthode Connectif.sendProductVisit().

 

Comment l'utiliser

La notification de produit visité utilise l'objet Product, dans la méthode sendProductVisit, afin d'enrichir les informations envoyées lors des événements.

Notifier les informations du produit visité

Voici les propriétés que nous pouvons envoyer dans notre objet Product :

Nom Obligatoire Type Description
productDetailUrl Oui String URL de la page du produit (l'URL ne doit pas être encodée).
productId Oui String Identifiant unique du produit (dans l'e-commerce).
name Oui String Nom du produit.
description Non String Description du produit. Peut contenir du code HTML.
imageUrl Non String URL de l'image du produit.
unitPrice Oui Decimal Prix unitaire du produit.
availability Non Availability Peut avoir l'une des valeurs suivantes : .inStock ou .outOfStock.
categories Non List<String> La catégorie à laquelle appartient le produit. Si l'e-commerce permet des sous-catégories, vous pouvez les indiquer avec le chemin complet de la catégorie, en séparant chaque niveau par le caractère '/'.
Par exemple : "/Informatique/Claviers/Logitech".
tags Non List<String> Les étiquettes associées au produit.
brand Non String Marque du produit.
reviewCount Non Int Nombre d'avis sur le produit.
rating Non Int Évaluation du produit normalisée sur une échelle de 0 à 5.
ratingCount Non Int Nombre total d'évaluations du produit.
thumbnailUrl Non String URL de l’image miniature du produit.
relatedExternalProductIds Non List<String> Identifiants des produits associés.
priority Non Int Priorité d’un produit.
unitPriceOriginal Non Décimal Prix unitaire du produit sans appliquer la remise.
unitPriceWithoutVAT Non Décimal Prix unitaire original du produit.
discountedAmount Non Décimal Montant de la réduction appliquée au produit.
discountedPercentage Non Int Pourcentage de remise, compris entre 0 et 100, sans symbole de pourcentage.
publishedAt Non Date Date de publication du produit dans le catalogue du magasin.
customField1 Non String Champ personnalisé du produit.
customField2 Non String Champ personnalisé du produit.
customField3 Non String Champ personnalisé du produit.

 

Ce type d’événement collecte automatiquement les informations suivantes :

  • Système d'exploitation : Android ou iOS.
  • Version de l'application.
  • Version du système d'exploitation.
  • Version du Connectif SDK.

 

Exemple

La notification aura cet aspect :

let productBasketItem = ProductBasketItem(
productDetailUrl: "https://example.com/product/12345",
productId: "59a31949a1a562d4979fbca2",
name: "Produit Exemple",
unitPrice: Decimal(51.88),
description: "Ceci est un produit exemple",
imageUrl: "https://example.com/product/images/12345.jpg",
availability: Product.Availability.inStock,
categories: ["Électronique", "Gadgets"],
tags: ["Tendance", "Nouvelle Arrivée"],
brand: "MarqueExemple",
reviewCount: 150,
rating: Decimal(4.5),
ratingCount: 124,
thumbnailUrl: "https://example.com/product/thumbnails/12345.jpg",
relatedExternalProductIds: ["54321", "67890"],
priority: 10,
unitPriceOriginal: Decimal(120.00),
unitPriceWithoutVAT: Decimal(80.00),
discountedAmount: Decimal(20.00),
discountedPercentage: Decimal(16.67),
publishedAt: Date(),
customField1: "Édition Spéciale",
customField2: "Stock Limité",
customField3: "Exclusivité en ligne",
price: Decimal(51.88),
quantity: 1
)

let purchase = Purchase(
products: [productBasketItem],
totalQuantity: 1,
totalPrice: Decimal(51.88),
cartId: "cart-0098caf9-42f4-44e9-afdd-45eafe892293",
paymentMethod = "Carte de Crédit",
purchaseDate = Date(),
purchaseId = "achat-e3418b5a-8709-4593-a7c8-d8a7f12df737"
)

Connectif.sendPurchase(purchase)

 

Callbacks (Optionnel)

Si nous voulons obtenir un retour sur d'éventuelles erreurs lors de l'envoi d'événements, nous pouvons ajouter un EventCallbacks lorsque nous utilisons notre méthode.  

EventCallbacks(
    onSuccess: {
        //Gestion en cas de succès
    },
    onError: { error in
        //Gestion en cas d'erreur
    })
    

 

 

 

Félicitations !
Vous êtes arrivé à la fin de la leçon.

  

Des questions restent sans réponse ?
Rappelez-vous que nos spécialistes Connectif sont à votre disposition. Pour les contacter, il vous suffit d’ouvrir un ticket auprès du support en cliquant sur le bouton bleu “Aide” de votre tableau de bord.


Continuez à apprendre !

Pour exploiter tout le potentiel de votre compte Connectif, nous vous recommandons de consulter les articles suivants :