您可以使用 Adjust Criteo 插件,集成 Adjust iOS SDK 与 Criteo 事件。
设置环境
添加下列行至您的 Podfile
:
pod 'Adjust/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)Adjust.trackEvent(event)
#import "ADJCriteo.h"
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")Adjust.trackEvent(event)
#import "ADJCriteo.h"
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)
Adjust.trackEvent(event)
#import "ADJCriteo.h"
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)
Adjust.trackEvent(event)
#import "ADJCriteo.h"
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)
Adjust.trackEvent(event)
#import "ADJCriteo.h"
ADJEvent *event = [ADJEvent eventWithEventToken:@"{userLevelEventToken}"];
[ADJCriteo injectUserLevelIntoEvent:event uiLevel:1];
[Adjust trackEvent:event];
用户状态
let event = ADJEvent(eventToken: "{userStatusEventToken}")
ADJCriteo.injectUserStatus(into: event, uiStatus: "uiStatusValue")
Adjust.trackEvent(event)
#import "ADJCriteo.h"
ADJEvent *event = [ADJEvent eventWithEventToken:@"{userStatusEventToken}"];
[ADJCriteo injectUserStatusIntoEvent:event uiStatus:@"uiStatusValue"];
[Adjust trackEvent:event];
成就解锁
let event = ADJEvent.eventToken("{achievementUnlockedEventToken}")
ADJCriteo.injectAchievementUnlocked(into: event, uiAchievement: "uiAchievementValue")
Adjust.trackEvent(event)
#import "ADJCriteo.h"
ADJEvent *event = [ADJEvent eventWithEventToken:@"{achievementUnlockedEventToken}"];
[ADJCriteo injectAchievementUnlockedIntoEvent:event uiAchievement:@"uiAchievementValue"];
[Adjust trackEvent:event];
自定义事件
let event = ADJEvent.eventToken("{customEventEventToken}")
ADJCriteo.injectCustomEvent(into: event, uiData: "uiDataValue")
Adjust.trackEvent(event)
#import "ADJCriteo.h"
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)
Adjust.trackEvent(event)
#import "ADJCriteo.h"
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")
#import "ADJCriteo.h"
[ADJCriteo injectHashedEmailIntoCriteoEvents:@"8455938a1db5c475a87d76edacb6284e"];
搜索日期
您可以向每个 Criteo 事件附加 check-in (如酒店的入住时间) 和 check-out (如酒店的退房时间) 日期。为此,请调用injectViewSearchDatesIntoCriteoEvent
方法。这样,在整个应用生命周期中,SDK 就会针对每个 Criteo 事件发送日期信息。应用重新启动时,您需要再次进行该设置。
您可以将 injectViewSearchDatesIntoCriteoEvent
值设置为 nil
,移除搜索日期发送。
ADJCriteo.injectViewSearchDates(intoCriteoEvents: "2015-01-01", checkoutDate: "2015-01-07")
#import "ADJCriteo.h"
[ADJCriteo injectViewSearchDatesIntoCriteoEvents:@"2015-01-01" checkOutDate:@"2015-01-07"];
合作伙伴 ID
您也可以向每个 Criteo 事件附加一个合作伙伴 ID。为此,请调用injectPartnerIdIntoCriteoEvents
方法。这样,在整个应用生命周期中,SDK 就会针对每个 Criteo 事件发送合作伙伴 ID 信息。应用重新启动时,您需要再次进行该设置。
您可以将 injectPartnerIdIntoCriteoEvents
值设置为 null,移除合作伙伴 ID 发送。
ADJCriteo.injectPartnerId(intoCriteoEvents: "{criteoPartnerId}"
#import "ADJCriteo.h"
[ADJCriteo injectPartnerIdIntoCriteoEvents:@"{criteoPartnerId}"];
发送深度链接
您可以添加深度链接信息至 Criteo 事件。为此,请使用事件和 URL 调用 injectDeeplinkIntoEvent
方法。
func application( _ application: UIApplication?, open url: URL?, sourceApplication: String?, annotation: Any?) -> Bool { let event = ADJEvent(eventToken: "{deeplinkEventToken}")
ADJCriteo.injectDeeplink(into: event, url: url)
Adjust.trackEvent(event)
//...}
#import "ADJCriteo.h"
- (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}")
#import "ADJCriteo.h"
[ADJCriteo injectCustomerIdIntoCriteoEvents:@"{CriteoCustomerId}"];
用户分群
您也可以向每个 Criteo 事件附加用户分群。为此,请调用injectUserSegmentIntoCriteoEvents
方法。这样,在整个应用生命周期中,SDK 就会针对每个 Criteo 事件发送用户分群信息。应用重新启动时,您需要再次进行该设置。
您可以将 injectUserSegmentIntoCriteoEvents
值设置为 nil,移除用户分群发送。
ADJCriteo.injectUserSegment(intoCriteoEvents: "{CriteoUserSegment}")
#import "ADJCriteo.h"
[ADJCriteo injectUserSegmentIntoCriteoEvents:@"{CriteoUserSegment}"];