O evento “Notificar evento de produto visitado” serve para comunicar que um contato visitou um produto específico durante sua navegação no app. Para isso, notifica, via Mobile SDK, quando um usuário acessa uma página de detalhes do produto utilizando o método Connectif.sendProductVisit().
Como usar
A notificação de produto visitado utiliza o objeto Product, do método sendProductVisit, para enriquecer as informações dos eventos enviados.
Notificar as informações do produto visitado
Estas são as propriedades que podemos enviar em nosso objeto Product:
| Nome | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| productDetailUrl | Sim | String | URL da página do produto (a URL deve ser informada sem codificação). |
| productId | Sim | String | Identificador único do produto (no eCommerce). |
| name | Sim | String | Nome do produto. |
| description | Não | String | Descrição do produto. Pode conter código HTML. |
| imageUrl | Não | String | URL da imagem do produto. |
| unitPrice | Sim | Decimal | Preço unitário do produto. |
| availability | Não | Availability | Pode ter um dos seguintes valores: .inStock ou .outOfStock. |
| categories | Não | List<String> | A categoria à qual o produto pertence. Se o eCommerce permitir subcategorias, você pode indicá-las com o caminho completo da categoria, separando cada nível com o caractere '/'. Por exemplo: "/Computadores/Teclados/Logitech". |
| tags | Não | List<String> | Etiquetas associadas ao produto. |
| brand | Não | String | Marca do produto. |
| reviewCount | Não | Int | Número de avaliações do produto. |
| rating | Não | Int | Avaliação do produto normalizada para uma escala de 0 a 5. |
| ratingCount | Não | Int | Quantidade de avaliações do produto. |
| thumbnailUrl | Não | String | URL da imagem em miniatura do produto. |
| relatedExternalProductIds | Não | List<String> | IDs de produtos relacionados. |
| priority | Não | Int | Prioridade do produto. |
| unitPriceOriginal | Não | Decimal | Preço original unitário do produto antes do desconto. |
| unitPriceWithoutVAT | Não | Decimal | Preço unitário original do produto. |
| discountedAmount | Não | Decimal | Valor do desconto aplicado ao produto. |
| discountedPercentage | Não | Int | Percentual de desconto, faixa de 0 a 100 sem símbolo de porcentagem. |
| publishedAt | Não | Date | Data de publicação do produto no catálogo da loja. |
| customField1 | Não | String | Campo personalizado do produto. |
| customField2 | Não | String | Campo personalizado do produto. |
| customField3 | Não | String | Campo personalizado do produto. |
Este tipo de evento coleta automaticamente as seguintes informações:
- Sistema operacional: Android ou iOS.
- Versão do app.
- Versão do sistema operacional.
- Versão do Connectif SDK.
Exemplo
A notificação terá este formato:
let productBasketItem = ProductBasketItem(
productDetailUrl: "https://example.com/product/12345",
productId: "59a31949a1a562d4979fbca2",
name: "Produto Exemplo",
unitPrice: Decimal(51.88),
description: "Este é um produto de exemplo",
imageUrl: "https://example.com/product/images/12345.jpg",
availability: Product.Availability.inStock,
categories: ["Eletrônicos", "Gadgets"],
tags: ["Tendência", "Novo"],
brand: "MarcaExemplo",
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: "Edição Especial",
customField2: "Estoque Limitado",
customField3: "Exclusivo 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 = "Cartão de Crédito",
purchaseDate = Date(),
purchaseId = "purchase-e3418b5a-8709-4593-a7c8-d8a7f12df737"
)
Connectif.sendPurchase(purchase)
Callbacks (Opcional)
Se quisermos receber feedback sobre possíveis erros ao enviar eventos, podemos adicionar um EventCallbacks ao usar nosso método.
EventCallbacks(
onSuccess: {
//Manuseio em caso de sucesso
},
onError: { error in
//Manuseio em caso de erro
})
Continue aprendendo!
Para aproveitar ao máximo sua conta na Connectif, recomendamos que continue com os seguintes artigos:
- Android SDK Get Started, para adicionar o Connectif Mobile SDK ao seu projeto Android.
- Configuração do Firebase Cloud Messaging, para ativar o envio e recebimento de notificações push pelo Mobile SDK do Android.
- iOS SDK Get Started, para adicionar o Connectif Mobile SDK ao seu projeto iOS.
- Configuração do Apple Push Notifications Service, para ativar o envio e recebimento de notificações push pelo Mobile SDK do iOS.