Bazaarvoice移动sdk提供了对Bazaarvoice提供的大多数核心产品的访问。必威手机版本要了解更多信息,请参阅Mobile SDK文档主页

内容

+显示 ——隐藏

本文档解释了如何使用Bazaarvoice Pixel捕获产品购买以及非事务性事件,如“商店定位器”或“在哪里购买”点击。

简介

Bazaarvoice API分析解决方案,更广为人知的名字是BV Pixel,旨在将来自客户移动应用程序中包含消费者生成内容(CGC)的所有视图的事件传递给Bazaarvoice。这包括查看产品统计信息以及“评论”、“问题”和“答案”的CGC显示视图。利用这些收集到的数据,Bazaarvoice报告了CGC在整个客户端移动应用程序中的影响。

开始实现此Mobile SDK模块之前,请检查上的步骤来验证您的安装安装页面。

下面的部分提供了所有可用的BV Pixel事件的概述,以及在Swift和Objective-C中如何构造和发送它们的源示例。详情请参阅需求页面,以概述需要哪些事件,这取决于您如何使用SDK和api。

BVTransactionEvent

一旦用户完成购买,Transaction事件就应该执行。这通常发生在付款处理后或加载付款确认页面时。下面的示例代码展示了创建和发送电子商务交易分析事件所需的初始化式。

/*基于事务构造BVTransactionItem数组。Sku是必需的,但参数越多越好。*/ let firstItem = BVTransactionItem(sku: "123",名称:"猫粮",类别:"宠物",价格:10.99,数量:1,imageUrl: "http://example.com/catfood.jpg") let secondItem = BVTransactionItem(sku: "321",名称:"狗粮",类别:"宠物",价格:14.99,数量:1,imageUrl: "http://example.com/dogfood.jpg") let transactionItems = [firstItem, secondItem] /*构造一个BVTransactionEvent OrderId, orderTotal, orderItems是必需的。你可以包括任何其他你想要的键值参数。BVTransactionEvent还为常用的参数提供了方便的设置。*/ let transaction = BVTransactionEvent(orderId: "订单id", orderTotal: 33.11, orderItems: transactionItems, anddotherparams: ["state": "TX", "email": "some.one@domain.com"])事务。运输= 4.99交易。tax = 2.14 /*使用BVPixel跟踪转换事务事件。* / BVPixel.trackEvent(事务)
/*基于事务构造BVTransactionItem数组。Sku是必需的,但参数越多越好。*/ BVTransactionItem * firstItem = [[BVTransactionItem alloc] initWithSku: @“123”名称:@“猫粮”类别:@“宠物”价格:10.99数量:1 imageUrl: @“http://example.com/catfood.jpg”];BVTransactionItem * secondItem = [[BVTransactionItem alloc] initWithSku: @ "321"名称:@ "狗粮"类别:@ "宠物"价格:14.99数量:1 imageUrl: @ "http://example.com/dogfood.jpg"];NSArray * transactionItems = @[first stitem, secondItem];/*构造一个BVTransactionEvent OrderId, orderTotal和orderItems是必需的。你可以包括任何其他你想要的键值参数。BVTransaction还为常用的参数提供了方便的设置。*/ BVTransactionEvent * transaction = [[BVTransactionEvent alloc] initWithOrderId: @ "订单id" orderTotal: 33.11 orderItems: transactionItems andOtherParams: @ {@ "state": @ "TX", @ "email": @ "some.one@domain.com"}];事务。shipping = 4.99; transaction.tax = 2.14; /* Use the BVPixel to track the Conversion Transaction Event. */ [BVPixel trackEvent: transaction];
/*基于事务构造BVAnalyticsTransactionItem数组。Sku是必需的,但参数越多越好。*/ let firstItem = BVAnalyticsTransactionItem(类别:“宠物”,imageURL:“http://example.com/catfood.jpg”,名称:“猫粮”,价格:10.99,数量:1,sku:“123”)let secondItem = BVAnalyticsTransactionItem(类别:“宠物”,imageURL:“http://example.com/dogfood.jpg”,名称:“狗粮”,价格:14.99,数量:1,sku:“321”)let transactionItems = [firstItem, secondItem] /*构造一个bvanalyticevent。需要transaction orderId、total和items。你可以包括任何其他你想要的键值参数。*/ let transaction = bvanalyticevent。交易(项目:transactionItems, orderId:“订单id”,总数:33.11,城市:“奥斯汀”,国家:“美国”,货币:“美国”,航运:4.99,州:“TX”,税收:2.14,附加:[电子邮件“:”一些。/*使用BVPixel跟踪转换事务事件。* / BVPixel.track(事务)

BVConversionEvent

对于非电子商务网站,这种分析指标应该实现如下所述。这个分析事件被称为非电子商务转换,它处理不被其他事件转换的用户交互,例如下载小册子或登录到服务。

/*构造BVConversionEvent类型和值是必需的。建议使用标签。包括你想要的任何其他键值参数。*/ let conversion = BVConversionEvent("BrochureDownload", value: "YourDefinedValue", label: "Model xyz小册子",otherParams: ["state": "TX", "email": "some.one@domain.com"]) /*使用BVPixel跟踪非商务转换事件。* / BVPixel.trackEvent(转换)
/*构造BVConversionEvent类型和值是必需的。建议使用标签。包括你想要的任何其他键值参数。*/ BVConversionEvent * conversion = [[BVConversionEvent alloc] initWithType: @ "BrochureDownload" value: @ "YourDefinedValue" label: @ "Model xyz小册子" otherParams: @ {@ "state": @ "TX", @ "email": @ "some.one@domain.com"}];/*使用BVPixel跟踪非商业转换事件。*/ [BVPixel trackEvent: conversion];
/*构造一个bvanalyticevent。转换事件类型和值是必需的。建议使用标签。包括你想要的任何其他键值参数。*/让转换:BVAnalyticsEvent = .conversion(类型:"BrochureDownload",值:"YourDefinedValue",标签:"Model xyz小册子",附加:["state": "TX", "email": "some.one@domain.com"]) /*使用BVPixel跟踪非商业转换事件。* / BVPixel.track(转换)

BVPageViewEvent

当产品详细信息页面完全呈现且页面视图数据可用时,执行PageView事件。PageView通常与评论和/或问题统计相关联。

/**当要求在屏幕上显示产品、统计数据或UGC时构造此事件。必威手机版本*/ let pageViewEvent = BVPageViewEvent(productId: "productId", with: .conversationsReviews, withBrand: "brandName", withCategoryId: "optionalCategoryId", withRootCategoryId: "optionalRootCategoryId", withAdditionalParams: nil)
/**当要求在屏幕上显示产品、统计数据或UGC时构造此事件。必威手机版本*/ BVPageViewEvent * pageViewEvent = [[BVPageViewEvent alloc] initWithProductId: @ "productId" withBVPixelProductType: BVPixelProductTypeConversationsReviews withBrand: @ "brandName" withCategoryId: @ "optionalCategoryId" withRootCategoryId: @ "optionalRootCategoryId" withAdditionalParams: nil];[BVPixel trackEvent: pageViewEvent];
让pageView: BVAnalyticsEvent = .pageView(bvProduct: .reviews, productId: "productId", brand: "brandName", categoryId: "categoryId", rootCategoryId: "rootCategoryId",附加:nil)

BVInViewEvent

应该使用InView事件来指示CGC在视图上可见。当用户生成的内容在移动屏幕上可见时触发此事件。这应该只在每个ViewController加载时触发一次。下面的代码向您展示了如何跟踪InView事件。

让inViewEvent = BVInViewEvent(productId: "productId", withBrand: "brandName", with: .conversationsReviews, withContainerId: "yourViewControllerName", withAdditionalParams: nil)
BVInViewEvent * inViewEvent = [[BVInViewEvent alloc] initWithProductId: @ "productId" withBrand: @ "brandName" withProductType: BVPixelProductTypeConversationsReviews withContainerId: @ "nameOfYourViewController" withAdditionalParams: nil];[BVPixel trackEvent: inViewEvent];
let inViewEvent: bvanalyticevent = .inView(bvProduct: .reviews, component: "yourViewControllerName", productId: "productId", brand: "brandName",附加:nil)

BVImpressionEvent

该事件将消费者在给定视图上生成的各种内容传递回Bazaarvoice。对于UIView上的每一个评论、问题或答案,都必须发送一个印象事件。下面的代码展示了如何实现印象事件。

让reviewImpression = bv印象事件(productId: "productId", withContentId: "optionalContentId", withCategoryId: "optinalCategoryId", with: .conversationsReviews, with: .typeReview, withBrand: "optionalBrand", withAdditionalParams: nil)
bv印象事件* reviewImpression = [[bv印象事件alloc] initWithProductId: @ "productId" withContentId: @ "optionalContentId" withCategoryId: @ "optionalCategoryId" withProductType: BVPixelProductTypeConversationsReviews withContentType: BVPixelImpressionContentTypeReview withBrand: nil withAdditionalParams: nil];[BVPixel trackEvent: reviewImpression];
让reviewImpression: bvanalyticevent = .impression(bvProduct: .reviews, contentId: "optionalContentId", contentType: .review, productId: "productId", brand: "optionalBrand", categoryId: "optinalCategoryId",附加:nil) bvpx .track(reviewImpression)

BVFeatureUsedEvent

仅仅知道用户浏览过产品页面是不够的。了解终端用户如何在移动应用程序视图上与消费者生成的内容交互也是有价值的。这些信息可以在用户进行转换或购买之前提供有关用户所看重的信息的见解。

让writeReviewEvent = BVFeatureUsedEvent(productId: "productId", withBrand: "optionalBrand", with: .conversationsReviews, with: .eventNameWriteReview, withAdditionalParams: nil)
BVFeatureUsedEvent * writeReviewEvent = [[BVFeatureUsedEvent alloc] initWithProductId: @ "productId" withBrand: @ "brandName" withProductType: BVPixelProductTypeConversationsReviews withEventName: BVPixelFeatureUsedEventNameWriteReview withAdditionalParams: nil];[BVPixel trackEvent: writeReviewEvent];
让writeReviewEvent: bvanalyticevent = .feature(bvProduct: .reviews, name: .reviewComment, productId: "productId", brand: "optionalBrand",附加:nil)

BVViewedCGCEvent

当用户生成的内容在一段时间内可见时触发此事件。通常情况下,这意味着UGC在手机屏幕上停留的时间超过5秒,从而让最终用户了解到他们可能已经阅读了内容。

let viewedCGCEvent = BVViewedCGCEvent(productId: "productId", withRootCategoryID: "rootCatId", withCategoryId: "catId", with: .conversationsQuestionAnswer, withBrand: "brandName", withAdditionalParams: nil)
BVViewedCGCEvent * viewedCGCEvent = [[BVViewedCGCEvent alloc] initWithProductId: @ "productId" withRootCategoryID: nil withCategoryId: @ "myCategoryId" withProductType: BVPixelProductTypeConversationsReviews withBrand: nil withAdditionalParams: nil];[BVPixel trackEvent: viewedCGCEvent];
let viewed: BVAnalyticsEvent = .viewed(bvProduct: .reviews, productId: "productId", brand: "brandName", categoryId: "catId", rootCategoryId: "rootCatId",附加:nil)