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
})
Continuez à apprendre !
Pour exploiter tout le potentiel de votre compte Connectif, nous vous recommandons de consulter les articles suivants :
- Android SDK Get Started, pour ajouter Connectif Mobile SDK à votre projet Android.
- Configuration de Firebase Cloud Messaging, pour activer l’envoi et la réception de push via le Mobile SDK Android.
- iOS SDK Get Started, pour ajouter Connectif Mobile SDK à votre projet iOS.
- Configuration du service Apple Push Notifications, pour activer l’envoi et la réception de push via le Mobile SDK iOS.