Criteo 插件集成
您可以使用 Adjust Criteo 插件,集成 Adjust SDK 与 Criteo 事件。
操作前须知
适用条件
您需要针对平台下载并设置 Adjust SDK。按照下方链接中的说明操作,开始使用功能。
设置环境
iOS
Cocoapods
如果您使用的是 CocoaPods,请添加下行到您的 Podfile:
pod 'Adjust/Criteo'
Carthage
如果您使用的是 Carthage,请添加下行到您的 Cartfile:
github "adjust/ios_sdk" "criteo"
通过源代码安装
您也可以按照下列步骤操作,集成 Adjust 和 Criteo 事件:
- 前往我们的发布页面,找到下载文件中的插件/Criteo 文件夹。
- 将
ADJCriteo.h
和ADJCriteo.m
文件拖拽进您项目中的 Adjust 文件夹。 - 在对话框中选择添加这些文件的选项。如有需要,请确保勾选 Copy items 复选框,选择 Create groups 的选项。
安卓
Maven
如果您使用的是 Maven,请添加下列 dependency 至您的 build.grade
文件:
dependencies {
implementation 'com.adjust.sdk:adjust-android:4.28.2'
implementation 'com.adjust.sdk:adjust-android-criteo:4.28.2'
}
作为 JAR 添加
您也可以访问我们的发布页面,将插件作为 JAR 文件添加。
处理 Criteo 事件
设置好环境后,您就可以开始通过 Adjust SDK 记录 Criteo 事件了。
查看列表
Objective-C
#import "ADJCriteo.h"
ADJEvent *event = [ADJEvent eventWithEventToken:@"{viewListingEventToken}"];
NSArray *productIds = @[@"productId1", @"productId2", @"product3"];
[ADJCriteo injectViewListingIntoEvent:event productIds:productIds];
[Adjust trackEvent:event];
Swift
let event = ADJEvent(eventToken: "{viewListingEventToken}")
let productIds = ["productId1", "productId2", "product3"]
ADJCriteo.injectViewListing(into:event, productIds: productIds)
Adjust.trackEvent(event)
Java
import com.adjust.sdk.plugin.AdjustCriteo;
AdjustEvent event = new AdjustEvent("{viewListingEventToken}");
List<string> productIds = Arrays.asList("productId1", "productId2", "productId3");
AdjustCriteo.injectViewListingIntoEvent(event, productIds);
Adjust.trackEvent(event);
浏览产品
Objective-C
#import "ADJCriteo.h"
ADJEvent *event = [ADJEvent eventWithEventToken:@"{viewProductEventToken}"];
[ADJCriteo injectViewProductIntoEvent:event productId:@"productId1"];
[Adjust trackEvent:event];
Swift
let event = ADJEvent(eventToken: "{viewProductEventToken}")
ADJCriteo.injectViewProduct(into:event, productId: "productId1")
Adjust.trackEvent(event)
Java
import com.adjust.sdk.plugin.AdjustCriteo;
AdjustEvent event = new AdjustEvent("{viewProductEventToken}");
AdjustCriteo.injectViewProductIntoEvent(event,"productId1");
Adjust.trackEvent(event);
Cart
Objective-C
#import "ADJCriteo.h"
ADJEvent *event = [ADJEvent eventWithEventToken:@"{cartEventToken}"];
ADJCriteoProduct *product1 = [ADJCriteoProduct productWithId:@"productId1" price:100.0quantity: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];
Swift
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, productIds: productIds)
Adjust.trackEvent(event)
Java
import com.adjust.sdk.plugin.AdjustCriteo;
AdjustEvent event = new AdjustEvent("{cartEventToken}");
CriteoProduct product1 = new CriteoProduct(100, 1, "productId1");
CriteoProduct product2 = new CriteoProduct(77.7f, 3, "productId2");
CriteoProduct product3 = new CriteoProduct(50, 2, "productId3");
List<criteoproduct> products = Arrays.asList(product1, product2, product3);
AdjustCriteo.injectCartIntoEvent(event, products);
Adjust.trackEvent(event);
交易确认
Objective-C
#import "ADJCriteo.h"
ADJEvent *event = [ADJEvent eventWithEventToken:@"{transactionConfirmedEventToken}"];
ADJCriteoProduct *product1 = [ADJCriteoProduct productWithId:@"productId1" price:100.0quantity: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];
Swift
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)
Java
import com.adjust.sdk.plugin.AdjustCriteo;
AdjustEvent event = new AdjustEvent("{transactionConfirmedEventToken}");
CriteoProduct product1 = new CriteoProduct(100, 1, "productId1");
CriteoProduct product2 = new CriteoProduct(77.7f, 3, "productId2");
CriteoProduct product3 = new CriteoProduct(50, 2, "productId3");
List<criteoproduct> products = Arrays.asList(product1, product2, product3);
AdjustCriteo.injectTransactionConfirmedIntoEvent(event, products, "transactionId", "newCustomerId");
Adjust.trackEvent(event);
用户级别
Objective-C
#import "ADJCriteo.h"
ADJEvent *event = [ADJEvent eventWithEventToken:@"{userLevelEventToken}"];
[ADJCriteo injectUserLevelIntoEvent:event uiLevel:1];
[Adjust trackEvent:event];
Swift
let event = ADJEvent(eventToken: "{userLevelEventToken}")
ADJCriteo.injectUserLevel(into:event, uiLevel: 1)
Adjust.trackEvent(event)
Java
import com.adjust.sdk.plugin.AdjustCriteo;
AdjustEvent event = new AdjustEvent("{userLevelEventToken}");
AdjustCriteo.injectUserLevelIntoEvent(event,1);
Adjust.trackEvent(event);
用户状态
Objective-C
#import "ADJCriteo.h"
ADJEvent *event = [ADJEvent eventWithEventToken:@"{userStatusEventToken}"];
[ADJCriteo injectUserStatusIntoEvent:event uiStatus:@"uiStatusValue"];
[Adjust trackEvent:event];
Swift
let event = ADJEvent(eventToken: "{userStatusEventToken}")
ADJCriteo.injectUserStatus(into:event, uiStatus: "uiStatusValue")
Adjust.trackEvent(event)
Java
import com.adjust.sdk.plugin.AdjustCriteo;
AdjustEvent event = new AdjustEvent("{userStatusEventToken}");
AdjustCriteo.injectUserStatusIntoEvent(event,"uiStatusValue");
Adjust.trackEvent(event);
Achievement Unlocked
Objective-C
#import "ADJCriteo.h"
ADJEvent *event = [ADJEvent eventWithEventToken:@"{achievementUnlockedEventToken}"];
[ADJCriteo injectAchievementUnlockedIntoEvent:event uiAchievement:@"uiAchievementValue"];
[Adjust trackEvent:event];
Swift
let event = ADJEvent.eventToken("{achievementUnlockedEventToken}")
ADJCriteo.injectAchievementUnlocked(into:event, uiAchievement: "uiAchievementValue")
Adjust.trackEvent(event)
Java
import com.adjust.sdk.plugin.AdjustCriteo;
AdjustEvent event = new AdjustEvent("{achievementUnlockedEventToken}");
AdjustCriteo.injectAchievementUnlockedIntoEvent(event,"AchievementUnlocked");
Adjust.trackEvent(event);
自定义事件
Objective-C
#import "ADJCriteo.h"
ADJEvent *event = [ADJEvent eventWithEventToken:@"{customEventEventToken}"];
[ADJCriteo injectCustomEventIntoEvent:event uiData:@"uiDataValue"];
[Adjust trackEvent:event];
Swift
let event = ADJEvent.eventToken("{customEventEventToken}")
ADJCriteo.injectCustomEvent(into:event, uiData: "uiDataValue")
Adjust.trackEvent(event)
Java
import com.adjust.sdk.plugin.AdjustCriteo;
AdjustEvent event = new AdjustEvent("{customEventEventToken}");
AdjustCriteo.injectCustomEventIntoEvent(event,"uiDataValue");
Adjust.trackEvent(event);
自定义事件 2
Objective-C
#import "ADJCriteo.h"
ADJEvent *event = [ADJEvent eventWithEventToken:@"{customEvent2EventToken}"];
[ADJCriteo injectCustomEvent2IntoEvent:event uiData2:@"uiDataValue2" uiData3:3];
[Adjust trackEvent:event];
Swift
let event = ADJEvent(eventToken: "{customEvent2EventToken}"
ADJCriteo.injectCustomEvent2(into:event, uiData2: "uiDataValue2", uiData3: 3)
Adjust.trackEvent(event)
Java
import com.adjust.sdk.plugin.AdjustCriteo;
AdjustEvent event = new AdjustEvent("{customEvent2EventToken}");
AdjustCriteo.injectCustomEvent2IntoEvent(event,"uiData2Value", 3);
Adjust.trackEvent(event);
经哈希处理的电子邮件
您也可以向每个 Criteo 事件附加一个经过哈希处理的电子邮件。为此,请调用 injectHashedEmailIntoCriteoEvents
方法。这样,在整个应用生命周期中,SDK 就会针对每个 Criteo 事件发送一封经过哈希处理的电子邮件。应用重新启动时,您需要再次进行该设置。您可以将 injectHashedEmailIntoCriteoEvents
值设置为 nil
,移除哈希电子邮件发送。
Objective-C
#import "ADJCriteo.h"
[ADJCriteo injectHashedEmailIntoCriteoEvents:@"8455938a1db5c475a87d76edacb6284e"];
Swift
ADJCriteo.injectHashedEmail(intoCriteoEvents:"8455938a1db5c475a87d76edacb6284e")
Java
import com.adjust.sdk.plugin.AdjustCriteo;
AdjustCriteo.injectHashedEmailIntoCriteoEvents("8455938a1db5c475a87d76edacb6284e");
搜索日期
您可以向每个 Criteo 事件附加 check-in (如酒店的入住时间) 和 check-out (如酒店的退房时间) 日期。为此,请调用 injectViewSearchDatesIntoCriteoEvent
方法。这样,在整个应用生命周期中,SDK 就会针对每个 Criteo 事件发送日期。应用重新启动时,您需要再次进行该设置。
您可以将 injectViewSearchDatesIntoCriteoEvents
值设置为 nil
,移除搜索日期发送。
Objective-C
#import "ADJCriteo.h"
[ADJCriteo injectViewSearchDatesIntoCriteoEvents:@"2015-01-01" checkOutDate:@"2015-01-07"];
Swift
ADJCriteo.injectViewSearchDates(intoCriteoEvents:"2015-01-01", checkoutDate: "2015-01-07")
Java
import com.adjust.sdk.plugin.AdjustCriteo;
AdjustCriteo.injectViewSearchDatesIntoCriteoEvents("2015-01-01","2015-01-07");
合作伙伴 ID
您也可以向每个 Criteo 事件附加一个合作伙伴 ID。为此,请调用 injectPartnerIdIntoCriteoEvents
方法。这样,在整个应用生命周期中,SDK 就会针对每个 Criteo 事件发送合作伙伴 ID。应用重新启动时,您需要再次进行该设置。
您可以将 injectPartnerIdIntoCriteoEvents
值设置为 null
,移除合作伙伴 ID 发送。
Objective-C
#import "ADJCriteo.h"
[ADJCriteo injectPartnerIdIntoCriteoEvents:@"{criteoPartnerId}"];
Swift
ADJCriteo.injectPartnerId(intoCriteoEvents:"{criteoPartnerId}"
Java
import com.adjust.sdk.plugin.AdjustCriteo;
AdjustCriteo.injectPartnerIdIntoCriteoEvents("{CriteoPartnerId}");
发送深度链接
您可以添加深度链接信息至 Criteo 事件。为此,请通过事件和 URL 调用 injectDeeplinkIntoEvent
方法。
Objective-C
#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];
//...
}
Swift
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)
//...
}
Java
import com.adjust.sdk.plugin.AdjustCriteo;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent intent = getIntent();
Uri data = intent.getData();
AdjustEvent event = new AdjustEvent("{deeplinkEventToken}");
AdjustCriteo.injectDeeplinkIntoEvent(event,data);
Adjust.trackEvent(event);
}
客户 ID
您也可以向每个 Criteo 事件附加一个客户 ID。为此,请调用 injectCustomerIdIntoCriteoEvents
方法。这样,在整个应用生命周期中,SDK 就会针对每个 Criteo 事件发送客户 ID。应用重新启动时,您需要再次进行该设置。
您可以将 injectCustomerIdIntoCriteoEvents
值设置为 nil
,移除客户 ID 发送。
Objective-C
#import "ADJCriteo.h"
[ADJCriteo injectCustomerIdIntoCriteoEvents:@"{CriteoCustomerId}"];
Swift
ADJCriteo.injectCustomerId(intoCriteoEvents:"{CriteoCustomerId}")
Java
import com.adjust.sdk.plugin.AdjustCriteo;
AdjustCriteo.injectCustomerIdIntoCriteoEvents("{CriteoCustomerId}");
用户分群
您也可以向每个 Criteo 事件附加用户分群。为此,请调用 injectUserSegmentIntoCriteoEvents
方法。这样,在整个应用生命周期中,SDK 就会针对每个 Criteo 事件发送用户分群。应用重新启动时,您需要再次进行该设置。
您可以将 injectUserSegmentIntoCriteoEvents
值设置为 nil
,移除用户分群发送。
Objective-C
#import "ADJCriteo.h"
[ADJCriteo injectUserSegmentIntoCriteoEvents:@"{CriteoUserSegment}"];
Swift
ADJCriteo.injectUserSegment(intoCriteoEvents:"{CriteoUserSegment}")
Java
import com.adjust.sdk.plugin.AdjustCriteo;
AdjustCriteo.injectUserSegmentIntoCriteoEvents("{CriteoUserSegment}");