您可以使用 Adjust Criteo 插件,集成 Adjust iOS SDK 与 Criteo 事件。
设置环境
添加下列行至您的 Cartfile
:
github "adjust/ios_sdk" "criteo"
通过源代码安装
您也可以按照下列步骤操作,集成 Adjust 和 Criteo 事件:
- 前往发布页面,找到下载文件中的插件/Criteo 文件夹。
- 将
ADJCriteo.h
和 ADJCriteo.m
文件拖拽至您项目中的 Adjust 文件夹。
- 在对话框中选择添加这些文件的选项。如有需要,请确保勾选 Copy items 复选框,选择 Create groups 的选项。
处理 Criteo 事件
设置好环境后,您就可以开始通过 Adjust SDK 记录 Criteo 事件了。
查看产品页面
let event = ADJEvent(eventToken: "{viewListingEventToken}")
let productIds = ["productId1", "productId2", "product3"]
ADJCriteo.injectViewListing(into: event, productIds: productIds)
ADJEvent *event = [ADJEvent eventWithEventToken:@"{viewListingEventToken}"];
NSArray *productIds = @[@"productId1", @"productId2", @"product3"];
[ADJCriteo injectViewListingIntoEvent:event productIds:productIds];
[Adjust trackEvent:event];
浏览产品
let event = ADJEvent(eventToken: "{viewProductEventToken}")
ADJCriteo.injectViewProduct(into: event, productId: "productId1")
ADJEvent *event = [ADJEvent eventWithEventToken:@"{viewProductEventToken}"];
[ADJCriteo injectViewProductIntoEvent:event productId:@"productId1"];
[Adjust trackEvent:event];
购物车
let event = ADJEvent(eventToken: "{cartEventToken}")
let product1 = ADJCriteoProduct(id: "productId1", price: 100.0, quantity: 1)
let product2 = ADJCriteoProduct(id: "productId2", price: 77.7, quantity: 3)
let product3 = ADJCriteoProduct(id: "productId3", price: 50, quantity: 2)
let products = [product1, product2, product3]
ADJCriteo.injectCart(into: event, products: products)
ADJEvent *event = [ADJEvent eventWithEventToken:@"{cartEventToken}"];
ADJCriteoProduct *product1 = [ADJCriteoProduct productWithId:@"productId1" price:100.0 quantity:1];
ADJCriteoProduct *product2 = [ADJCriteoProduct productWithId:@"productId2" price:77.7 quantity:3];
ADJCriteoProduct *product3 = [ADJCriteoProduct productWithId:@"productId3" price:50 quantity:2];
NSArray *products = @[product1, product2, product3];
[ADJCriteo injectCartIntoEvent:event products:products];
[Adjust trackEvent:event];
交易已确认
let event = ADJEvent(eventToken: "{transactionConfirmedEventToken}")
let product1 = ADJCriteoProduct(id: "productId1", price: 100.0, quantity: 1)
let product2 = ADJCriteoProduct(id: "productId2", price: 77.7, quantity: 3)
let product3 = ADJCriteoProduct(id: "productId3", price: 50, quantity: 2)
let products = [product1, product2, product3]
ADJCriteo.injectTransactionConfirmed(into: event, products: products)
ADJEvent *event = [ADJEvent eventWithEventToken:@"{transactionConfirmedEventToken}"];
ADJCriteoProduct *product1 = [ADJCriteoProduct productWithId:@"productId1" price:100.0 quantity:1];
ADJCriteoProduct *product2 = [ADJCriteoProduct productWithId:@"productId2" price:77.7 quantity:3];
ADJCriteoProduct *product3 = [ADJCriteoProduct productWithId:@"productId3" price:50 quantity:2];
NSArray *products = @[product1, product2, product3];
[ADJCriteo injectTransactionConfirmedIntoEvent:event products:products
transactionId:@"transactionId1" newCustomer:@"newCustomerId"];
[Adjust trackEvent:event];
用户级别
let event = ADJEvent(eventToken: "{userLevelEventToken}")
ADJCriteo.injectUserLevel(into: event, uiLevel: 1)
ADJEvent *event = [ADJEvent eventWithEventToken:@"{userLevelEventToken}"];
[ADJCriteo injectUserLevelIntoEvent:event uiLevel:1];
[Adjust trackEvent:event];
用户状态
let event = ADJEvent(eventToken: "{userStatusEventToken}")
ADJCriteo.injectUserStatus(into: event, uiStatus: "uiStatusValue")
ADJEvent *event = [ADJEvent eventWithEventToken:@"{userStatusEventToken}"];
[ADJCriteo injectUserStatusIntoEvent:event uiStatus:@"uiStatusValue"];
[Adjust trackEvent:event];
成就解锁
let event = ADJEvent.eventToken("{achievementUnlockedEventToken}")
ADJCriteo.injectAchievementUnlocked(into: event, uiAchievement: "uiAchievementValue")
ADJEvent *event = [ADJEvent eventWithEventToken:@"{achievementUnlockedEventToken}"];
[ADJCriteo injectAchievementUnlockedIntoEvent:event uiAchievement:@"uiAchievementValue"];
[Adjust trackEvent:event];
自定义事件
let event = ADJEvent.eventToken("{customEventEventToken}")
ADJCriteo.injectCustomEvent(into: event, uiData: "uiDataValue")
ADJEvent *event = [ADJEvent eventWithEventToken:@"{customEventEventToken}"];
[ADJCriteo injectCustomEventIntoEvent:event uiData:@"uiDataValue"];
[Adjust trackEvent:event];
自定义事件 2
let event = ADJEvent(eventToken: "{customEvent2EventToken}"
ADJCriteo.injectCustomEvent2(into: event, uiData2: "uiDataValue2", uiData3: 3)
ADJEvent *event = [ADJEvent eventWithEventToken:@"{customEvent2EventToken}"];
[ADJCriteo injectCustomEvent2IntoEvent:event uiData2:@"uiDataValue2" uiData3:3];
[Adjust trackEvent:event];
经哈希处理的电子邮件
您也可以向每个 Criteo 事件附加一个经过哈希处理的电子邮件。为此,请调用injectHashedEmailIntoCriteoEvents
方法。这样,在整个应用生命周期中,SDK 就会针对每个 Criteo 事件发送一封经过哈希处理的电子邮件。应用重新启动时,您需要再次进行该设置。您可以将injectHashedEmailIntoCriteoEvents
值设置为nil
,移除哈希电子邮件发送。
ADJCriteo.injectHashedEmail(intoCriteoEvents: "8455938a1db5c475a87d76edacb6284e")
[ADJCriteo injectHashedEmailIntoCriteoEvents:@"8455938a1db5c475a87d76edacb6284e"];
搜索日期
您可以向每个 Criteo 事件附加 check-in (如酒店的入住时间) 和 check-out (如酒店的退房时间) 日期。为此,请调用injectViewSearchDatesIntoCriteoEvent
方法。这样,在整个应用生命周期中,SDK 就会针对每个 Criteo 事件发送日期信息。应用重新启动时,您需要再次进行该设置。
您可以将 injectViewSearchDatesIntoCriteoEvent
值设置为 nil
,移除搜索日期发送。
ADJCriteo.injectViewSearchDates(intoCriteoEvents: "2015-01-01", checkoutDate: "2015-01-07")
[ADJCriteo injectViewSearchDatesIntoCriteoEvents:@"2015-01-01" checkOutDate:@"2015-01-07"];
合作伙伴 ID
您也可以向每个 Criteo 事件附加一个合作伙伴 ID。为此,请调用injectPartnerIdIntoCriteoEvents
方法。这样,在整个应用生命周期中,SDK 就会针对每个 Criteo 事件发送合作伙伴 ID 信息。应用重新启动时,您需要再次进行该设置。
您可以将 injectPartnerIdIntoCriteoEvents
值设置为 null,移除合作伙伴 ID 发送。
ADJCriteo.injectPartnerId(intoCriteoEvents: "{criteoPartnerId}"
[ADJCriteo injectPartnerIdIntoCriteoEvents:@"{criteoPartnerId}"];
发送深度链接
您可以添加深度链接信息至 Criteo 事件。为此,请使用事件和 URL 调用 injectDeeplinkIntoEvent
方法。
_ application: UIApplication?,
sourceApplication: String?,
let event = ADJEvent(eventToken: "{deeplinkEventToken}")
ADJCriteo.injectDeeplink(into: event, url: url)
- (BOOL) application:(UIApplication *)application openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
ADJEvent *event = [ADJEvent eventWithEventToken:@"{deeplinkEventToken}"];
[ADJCriteo injectDeeplinkIntoEvent:event url:url];
[Adjust trackEvent:event];
客户 ID
您也可以向每个 Criteo 事件附加一个客户 ID。为此,请调用injectCustomerIdIntoCriteoEvents
方法。这样,在整个应用生命周期中,SDK 就会针对每个 Criteo 事件发送客户 ID 信息。应用重新启动时,您需要再次进行该设置。
您可以将 injectCustomerIdIntoCriteoEvents
值设置为 nil,移除客户 ID 发送。
ADJCriteo.injectCustomerId(intoCriteoEvents: "{CriteoCustomerId}")
[ADJCriteo injectCustomerIdIntoCriteoEvents:@"{CriteoCustomerId}"];
用户分群
您也可以向每个 Criteo 事件附加用户分群。为此,请调用injectUserSegmentIntoCriteoEvents
方法。这样,在整个应用生命周期中,SDK 就会针对每个 Criteo 事件发送用户分群信息。应用重新启动时,您需要再次进行该设置。
您可以将 injectUserSegmentIntoCriteoEvents
值设置为 nil,移除用户分群发送。
ADJCriteo.injectUserSegment(intoCriteoEvents: "{CriteoUserSegment}")
[ADJCriteo injectUserSegmentIntoCriteoEvents:@"{CriteoUserSegment}"];