L' evento “Notificare evento di prodotto visitato” serve per comunicare che il contatto ha visitato un prodotto specifico durante la sua navigazione nell’app. A tal fine, notifica tramite Mobile SDK quando un utente accede a una pagina di dettaglio del prodotto utilizzando il metodo Connectif.sendProductVisit().
Come si usa
La notifica di prodotto visitato utilizza l'oggetto Product, dal metodo sendProductVisit, per arricchire le informazioni sugli eventi inviati.
Notificare le informazioni del prodotto visitato
Queste sono le proprietà che possiamo inviare nel nostro oggetto Product:
| Nome | Obbligatorio | Tipo | Descrizione |
|---|---|---|---|
| productDetailUrl | Sì | String | URL della pagina del prodotto (l’URL deve essere non codificato). |
| productId | Sì | String | Identificatore univoco del prodotto (nell'eCommerce). |
| name | Sì | String | Nome del prodotto. |
| description | No | String | Descrizione del prodotto. Può contenere codice HTML. |
| imageUrl | No | String | URL dell'immagine del prodotto. |
| unitPrice | Sì | Decimal | Prezzo unitario del prodotto. |
| availability | No | Availability | Può assumere uno dei seguenti valori: .inStock o .outOfStock. |
| categories | No | List<String> | La categoria a cui appartiene il prodotto. Se l'eCommerce permette sotto-categorie, puoi indicarle con il percorso completo della categoria separando ogni livello con il carattere '/'. Ad esempio: "/Computer/Tastiere/Logitech". |
| tags | No | List<String> | Le etichette associate al prodotto. |
| brand | No | String | Marca del prodotto. |
| reviewCount | No | Int | Numero di recensioni del prodotto. |
| rating | No | Int | Valutazione del prodotto normalizzata nel range da 0 a 5. |
| ratingCount | No | Int | Numero di valutazioni del prodotto. |
| thumbnailUrl | No | String | URL dell'immagine in miniatura del prodotto. |
| relatedExternalProductIds | No | List<String> | ID dei prodotti correlati. |
| priority | No | Int | Priorità di un prodotto. |
| unitPriceOriginal | No | Decimal | Prezzo unitario del prodotto senza applicare lo sconto. |
| unitPriceWithoutVAT | No | Decimal | Prezzo unitario originale del prodotto. |
| discountedAmount | No | Decimal | Importo scontato del prodotto. |
| discountedPercentage | No | Int | Percentuale di sconto, range da 0 a 100 senza simbolo di percentuale. |
| publishedAt | No | Date | Data di pubblicazione del prodotto nel catalogo del negozio. |
| customField1 | No | String | Campo personalizzato del prodotto. |
Questo tipo di evento raccoglie automaticamente le seguenti informazioni:
- Sistema operativo: Android o iOS.
- Versione dell'app.
- Versione del sistema operativo.
- Versione di Connectif SDK.
Esempio
La notifica avrà questo aspetto:
let productBasketItem = ProductBasketItem(
productDetailUrl: "https://example.com/product/12345",
productId: "59a31949a1a562d4979fbca2",
name: "Esempio di Prodotto",
unitPrice: Decimal(51.88),
description: "Questo è un prodotto di esempio",
imageUrl: "https://example.com/product/images/12345.jpg",
availability: Product.Availability.inStock,
categories: ["Elettronica", "Gadget"],
tags: ["Tendenza", "Nuovo Arrivo"],
brand: "EsempioBrand",
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: "Edizione Speciale",
customField2: "Stock Limitato",
customField3: "Solo Online",
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 = "Carta di Credito",
purchaseDate = Date(),
purchaseId = "acquisto-e3418b5a-8709-4593-a7c8-d8a7f12df737"
)
Connectif.sendPurchase(purchase)
Callbacks (Opzionale)
Se vogliamo avere un feedback su eventuali errori nell'invio degli eventi, possiamo aggiungere un EventCallbacks quando utilizziamo il nostro metodo.
EventCallbacks(
onSuccess: {
//Gestione in caso di successo
},
onError: { error in
//Gestione in caso di errore
})
Continua a imparare!
Per sfruttare tutto il potenziale del tuo account su Connectif, ti consigliamo di continuare con i seguenti articoli:
- Android SDK Get Started, per aggiungere Connectif Mobile SDK al tuo progetto Android.
- Configurazione di Firebase Cloud Messaging, per attivare l'invio e la ricezione di notifiche push tramite il Mobile SDK di Android.
- iOS SDK Get Started, per aggiungere Connectif Mobile SDK al tuo progetto iOS.
- Configurazione di Apple Push Notifications Service, per attivare l'invio e la ricezione di notifiche push tramite il Mobile SDK di iOS.